2010-07-05 1 views
0

В основном, работа с XML-каналом, который не написан наилучшим образом (данные API Youtube), и следует за ним от a previous question on the topic.jQuery: Retreving только первый атрибут определенного узла из XML

В настоящее время существует четыре узла в файле с именем media:thumbnail. Каждый узел media.thumbnail имеет различные атрибуты, один из которых - url. Я только хочу получить значение первого вхождения атрибута url (результатом является http://i.ytimg.com/vi/CQP_AuT4zXQ/2.jpg).

Пример;

<item> 
... 
<media:group> 
... 
    <media:thumbnail url='http://i.ytimg.com/vi/CQP_AuT4zXQ/2.jpg' height='90' width='120' time='00:04:53.500'/> 
    <media:thumbnail url='http://i.ytimg.com/vi/CQP_AuT4zXQ/1.jpg' height='90' width='120' time='00:02:26.750'/> 
    <media:thumbnail url='http://i.ytimg.com/vi/CQP_AuT4zXQ/3.jpg' height='90' width='120' time='00:07:20.250'/> 
    <media:thumbnail url='http://i.ytimg.com/vi/CQP_AuT4zXQ/0.jpg' height='240' width='320' time='00:04:53.500'/> 
... 
</media:group> 
... 
</item> 

Мои знания Jquery все еще развиваются, и я был в состоянии получить значение атрибута url для всех вхождений media:thumbnail, используя следующий код:

$(this).find("[nodeName=media:thumbnail]").each(function() 
     { 
     $("#output").append("<img src=\"" + $(this).attr("url") + "\">\n"); 
     }); 

Как сделать сейчас я ограничьте это, чтобы я только захватил значение url для первого появления media:thumbnail?

ответ

1
var elt = $(this).find("[nodeName=media:thumbnail]").first() 

Смотрите также:

http://api.jquery.com/first/

EDIT

Вот пример, который делает именно то, что вам нужно (но с HTML вместо XML)

http://jsbin.com/ecuku4/2/edit

Приветствия!

+0

Извините, Пабло, но я просмотрел эту статью и не могу понять, как применить ее к моей ситуации. Как только вы назначили первый экземпляр соответствующего узла переменной, как вы его получите? Является ли '$ (" # output "). Append (" \ n ");' приемлемым или я все еще лаем неправильное дерево? – thewinchester

+1

elt.attr («url») вам не нужно добавлять знак доллара снова, поскольку elt уже является дополненным объектом jQuery. –

+0

Отредактировано рабочим примером, надеюсь, что это поможет –

Смежные вопросы