Javascript XML节点打印两次
下面是我的代码:Javascript XML节点打印两次,javascript,xml,dom,Javascript,Xml,Dom,下面是我的代码: function widget_itemAddCallback(carousel, first, last, xml) { jQuery('image', xml).each(function(i){ document.write(jQuery('url',xml).text()) }); ... }; 这将通过我发送给函数的XML文件进行循环。XML文件的构建方式如下: <image> <url>URL
function widget_itemAddCallback(carousel, first, last, xml)
{
jQuery('image', xml).each(function(i){
document.write(jQuery('url',xml).text())
});
...
};
这将通过我发送给函数的XML文件进行循环。XML文件的构建方式如下:
<image>
<url>URL1 HERE</url>
<id>ID1 HERE</id>
</image>
<image>
<url>URL2 HERE</url>
<id>ID2 HERE</id>
</image>
这里是URL1
这里是ID1
URL2在这里
ID2在这里
现在,当我在上面发布的代码中运行时,每个url将发布两次(总共4个url,应该是2个)。因此,对于通过“image”标记的每个循环,它都会在一个image节点下的XML中发布所有url标记。我似乎找不到如何确保它只打印来自当前节点的url。在此方面的任何帮助都将不胜感激
谢谢
jQuery('url',xml).text()
选择所有url节点-因此您为所有图像节点写入所有url节点。jQuery('url',xml)
将选择文档中的所有url
元素
由于您对图像元素进行了迭代,因此您只需要当前图像的url
元素,可以通过this
访问该元素:
jQuery(this).find('url').text();
您的数据结构正常。只要把它包起来就可以了;-)谢谢你们,我做得有点像菲利克斯说的。这是我用来提取我所在的当前图像节点的url的方法:var url=$(This.children('url').text();这会给我当前图像标签的url!