我有一个像
这样的xml文件<?xml version="1.0" encoding="ISO-8859-1"?>
<childrens>
<child entity_id="1" value="Root Catalog" parent_id="0">
<child entity_id="2" value="Apparel" parent_id="1">
<child entity_id="4" value="Shirts" parent_id="2"/>
<child entity_id="5" value="Pants" parent_id="2"/>
</child>
<child entity_id="3" value="Accessories" parent_id="1">
<child entity_id="6" value="Handbags" parent_id="3"/>
<child entity_id="7" value="Jewelry" parent_id="3"/>
</child>
</child>
</childrens>
n试图获取parent_id = 2 n已写入此jquery代码
的数据$(document).ready(function(){
$.ajax({
type: "GET",
url: "test.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('child').attr('[parent_id=3]').each(function(){
var id = $(this).attr('entity_id');
alert(id);
});
}
});
});
但它不起作用
如果我删除.attr('[parent_id=3]')
,那么每个ID都会提醒
答案 0 :(得分:1)
错误使用attr
,您使用attr('[parent_id=3]')
的方式将使用name=[parent_id=3]
搜索属性,如果元素具有此类属性,那么每个字符串值将被使用,这里似乎不需要
<强> Live Demo 强>
更改
$(xml).find('child').attr('[parent_id=3]').each(function(){
要
$(xml).find('child[parent_id=3]').each(function(){