2010-09-19 124 views
1

您好我真的是Jquery的新手,並且遇到了腳本問題,我想使用jquery訪問我的xml文件中的第二個「標題」標記。 這是我的腳本,但我想要做的是分配一個可擴展的標題的第二個值。使用jquery查找xml中的節點

$(document).ready(function() 
     { 

      $.ajax({ 
       type: "GET", 
       url: "task.xml", 
       dataType: "xml", 
       success: displayXml 
      }); 

     function displayXml(data){ 

      $(data).find("tasks").each(function() { 

      var heading = $(this).find("heading").text(); 

      }); 
     } 

     }); // doc ready 

這是我的xml文檔。我正在尋找的是類似

name = $(「heading」,2).text();價值是'新工作'。任何人都可以幫助我嗎?

 <?xml version="1.0" encoding="utf-8"?> 
     <tasks> 

       <heading>Home </heading> 

       <heading>New Job </heading> 

       <heading>System </heading> 

     </tasks> 

回答

2

這是你在找什麼?

$("heading:eq(1)",data).text(); 

正如你可以在這裏看到在doc http://api.jquery.com/jQuery/jQuery()(同$())接收第二個參數「上下文」,在你的情況下,這將是data和jQuery將在這方面,而不是你的HTML/DOM搜索。

1

失眠症的回覆是,我相信,不太正確,因爲:nth-child(2)返回每隔一個選擇器,而不是第二個。您需要的選擇器是:eq(1)。這得到的第二項到先前選擇器匹配:

$(this).find('heading:eq(1)').text(); 

注意eq使用基於0的索引(即,第一項是0,第二個爲1,等等)。

見jQuery的API的更多信息:http://api.jquery.com/eq-selector/

+0

是的,你是正確的。 – 2010-09-19 15:09:21