使用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/
是的,你是正确的。 – 2010-09-19 15:09:21