【发布时间】:2011-12-09 08:31:54
【问题描述】:
我正在使用下面的代码来遍历 XML 的多个节点,但它似乎不起作用
var xmlDat = $.parseXML($('#xmlText').val());
// Here I am reading an XML content on paste event of xmlText
var xml = $(xmlDat);
var path = xml.find('ProjectID').text();
xml.find('a,b,c,d').each(function(){
{
// Giving unwanted results
}
但是如果像下面这样使用
xml.find('a').each(function(){
{
// Giving results
}
请让我知道如何更正代码以使其在上述情况下也能正常工作...
【问题讨论】:
-
请提供一个XML文档的例子,你得到的结果和你想要得到的结果。 A quick test 表明它应该可以工作。
-
@FelixKling kling 它在谷歌浏览器中完美运行,但在 IE 中却不行。我正在研究 IE。很抱歉之前没有提到浏览器。请在这里查看jsfiddle.net/bUvPB/1
-
顺便说一句,我认为您不应该再次将
xmlDat传递给 jQuery。它应该已经是一个 jQuery 对象。我无法访问 IE,所以我真的帮不上什么忙,但是你看过this question吗? -
@FelixKling 刚刚看到这个问题,这是一个很好的问题。但是由于我没有从 Ajax 加载任何数据,而我只是在解析一个字符串,所以我有点困惑将我的问题与提供的答案相关联。
-
@FelixKling 是的,你应该pass it to jQuery again:“然后可以将此文档传递给
jQuery,以创建一个可以遍历和操作的典型jQuery对象。” i>parseXML()只返回一个标准的 XML DOMDocument。