我遇到了XML和jQuery的问题。这是我的代码XML:
<items id="2" name="name2">
<opis></opis>
<zdjecie></zdjecie>
</items>
<items id="3" name="name3">
<opis></opis>
<zdjecie></zdjecie>
</items>
<items id="4" name="name3">
<opis></opis>
<zdjecie></zdjecie>
</items>
</sterowniki>
这是我的jQuery脚本:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "GET",
url: "dbtest.xml",
dataType: "xml",
success: parseXml
});
function parseXml(xml)
{
$(xml).find("sterowniki").each(function() {
alert("sterowniki");
$(xml).find("items").each(function() {
$("#nazwa").append('<h3 align="center"class="col-xs-7 col-sm-6 col-md-6 col-lg-8"><b>'+$(this).attr('name')+'</b></h3>');
});
});
}
});
</script>
我的显示名称有问题。网站需要以这样的方式加载:当您第一次加载链接元素(名称,描述)时,只应加载id = 1的第一个元素。进入另一个元素后,它应该在同一页面上加载另一个元素的描述和名称。我在编写这样一个脚本时遇到问题,根据相应链接的点击,选择适当的元素。
感谢。
答案 0 :(得分:1)
在XML文档中,id
属性仅限于此。没有定义它的XSD,它没有特殊意义。标准标识符属性是xml:id
- 保留名称空间中的特殊属性。
您可以更改属性或使用属性选择器。
$(xml).find('items[id="1"]');
要触发加载,请为每个生成的h3绑定一个单击处理程序。以下示例将仅触发警报以使其保持较小:
$(xml).find('items').each(
function() {
var $items = $(this);
var id = $items.attr('id');
$('<h3></h3>')
.appendTo('#nazwa')
.text($items.attr('name'))
.bind(
'click',
function() {
alert(id);
}
);
}
);