使用此我可以加载包含名称的产品,但是当我想根据索引追加某个名称时,我会得到重复的信息,非常感谢。
<?xml version="1.0" ?>
<catalogue>
<product>
<name>Cleaner</name>
<description>Simple Desgreaser</description>
<price>$100</price>
<image>images/lol1.png</image>
</product>
<product>
<name>CSanitiser</name>
<description>Simple Sanitiser</description>
<price>$200</price>
<image>images/lol1.png</image>
</product>
</catalogue>
function catalogueData2() {
$.ajax({
type: "GET",
url: "catalogueData.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('product').each(function(){
var name = '<p>Name: '+$(xml).find("name:eq(0)").text()+'</p>';
$("div#name").append(name);
});
}
});
}
答案 0 :(得分:1)
$(xml).find("name:eq(0)")
是XML中的第一个名称,而不是.each()
迭代中当前产品中的第一个名称。使用$(this).find("name:eq(0)")
仅搜索当前元素。
关于选择特定索引,可能是你想要的东西:
function catalogData2(index) {
$.ajax({
type: "GET",
url: "catalogueData.xml",
dataType: "xml",
success: function(xml) {
var name = '<p>Name: ' + $(xml).find("name").eq(index).text() + '</p>';
$("div#name").append(name);
}
});
}
有了这个,catalogData2(0)
会追加Cleaner
,而catalogData2(1)
会追加Sanitizer
。