2010-07-05 74 views
0

基本上,處理的是不是以最好的方式編寫的XML饋送(Youtube API數據),並且跟在a previous question on the topic之後。jQuery:僅從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"); 
     }); 

我現在該如何限制這個,所以我只抓取media:thumbnail的第一個匹配項的值爲url

回答

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

參見:

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

編輯

這裏有一個例子,做你需要的東西(但HTML而不是XML)

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

乾杯!

+0

對不起巴勃羅,但我看過那篇文章,不能理解如何將它應用於我的情況。將相關節點的第一個實例分配給變量後,如何檢索它? 是'$(「#output」)。append(「 \ n」);'可以接受還是我還在吠叫錯誤的樹? – thewinchester 2010-07-05 03:07:59

+1

elt.attr(「url」)你不需要重新添加美元符號,因爲elt已經是一個jQuery增強對象 – 2010-07-05 04:22:16

+0

編輯與工作示例,希望幫助 – 2010-07-05 15:20:56