> I am using jquery to parse some xml.  I'm looking for the best
> practice to access an elements text contents.
>
> Let's say my xml looks like this:
>
> <items>
>   <item>
>      Hello world!
>    </item
>    <item>
>       Goodnight moon!
>    </item>
> <items>
>
> I can get a wrapped set of the elements this way: $('items > item',
> xml)
>
> And I can get the text of element 1 this way:  $('items > item:eq(1)',
> xml).text()
>
> But how do I get the contents once I am directly accessing the element
> instead of the jquery object?
>
> In other words I'd like to do something like this: $('items > item',
> xml)[1].text(), but since the element that’s returned from the array
> [] doesn’t support text() how do I get it’s contents?
>
> I know I can wrap it in a second $ call, as in $($('items > item', xml)
> [1]).text() but that seems less than ideal.
>


Why do you need to access the element?  Are you trying to get the
contents of each 'item'?  If so, here's a way to do that:

$('items > item').each(i,o) {
    // in this loop 'i' is the index of the loop iteration
    // and 'o' is the object of the iteration (item element in this
case)
    var $item = $(o); //  could also do:  var $item = $(this);
    var txt = $item.text();
});

Reply via email to