Javascript jQuery和XML:按ID选择
我对XML和jQuery有问题。这是我的XML代码:Javascript jQuery和XML:按ID选择,javascript,jquery,xml,Javascript,Jquery,Xml,我对XML和jQuery有问题。这是我的XML代码: <items id="2" name="name2"> <opis></opis> <zdjecie></zdjecie> </items> <items id="3" name="name3"> <opis></opis> <zdjeci
<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脚本:
<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>
<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>
显示名称有问题。网站需要以这样的方式加载:当您第一次加载链接元素name、description时,只应加载id=1的第一个元素。在进入另一个元素之后,它应该在同一页面上加载另一个元素的描述和名称。我在编写这样一个脚本时遇到了一些问题,在这个脚本中,根据单击适当的链接来选择适当的元素
<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>
谢谢。在XML文档中,id属性仅限于此。如果没有定义它的XSD,它就没有特殊意义。标准标识符属性是xml:id—保留名称空间中的一个特殊属性
<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>
可以更改属性或使用属性选择器
<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>
$(xml).find('items[id="1"]');
要触发加载,请将单击处理程序绑定到每个生成的h3。以下示例将仅触发警报以保持其较小:
<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>
$(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);
}
);
}
);
现在显示;但我的问题是如何添加循环,自动选择我单击的项目?并显示名称。因为此站点必须根据所选链接和单击的链接而有所不同。ThanksI添加了一个从XML生成元素并将单击处理程序绑定到这些元素的示例。通过使用appendTo和not append,您可以将生成的节点保留在jQuery对象中,并可以对其进行操作。