使用jquery查找xml中的节点

问题描述:

您好我真的是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> 

这是你在找什么?

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

正如你可以在这里看到在doc http://api.jquery.com/jQuery/jQuery()(同$())接收第二个参数“上下文”,在你的情况下,这将是data和jQuery将在这方面,而不是你的HTML/DOM搜索。

失眠症的回复是,我相信,不太正确,因为: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