无法在浏览器中找到(“部分”)

时间:2013-04-18 14:35:02

标签: jquery xml

在ie浏览器中找不到(“Section”) 我有这个xml内容

    var xmlContent = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?/><Section type="two_column" name="Section Name" id="attr_id_lines_9810"><Column align="Left"><Label>One</Label><Value>test</Value></Column><Column align="Right"><Label>Two</Label><Value>222</Value></Column></Section>';
$(xmlContent).find("Section").each(function(){console.log($(this).attr('type");});

在浏览器中,此代码无效。但其他浏览器显示正确的结果。 如果有人知道解决方案,请更新。

1 个答案:

答案 0 :(得分:0)

XML声明不是“自动关闭”或配对标记。删除斜杠。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?/>

应该是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

使用filter(),而非.find(),因为“部分”不是子元素。 你也有一个不匹配的引用,你错过了一个右括号(其中任何一个将驱动IE坚果)。

$(xmlContent).find("Section").each(function(){console.log($(this).attr('type");});

应该是:

$(xmlContent).filter("Section").each(function(){console.log($(this).attr('type'));});

放在一起,那是:

var xmlContent = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Section type="two_column" name="Section Name" id="cust_attr_estimate_lines_9810"><Column align="Left"><Label>One</Label><Value>test</Value></Column><Column align="Right"><Label>Two</Label><Value>222</Value></Column></Section>';
$(xmlContent).filter("Section").each(function () {
    console.log($(this).attr('type'));
});

我可以在IE8(以及FF和Chrome)的Developer Tools控制台中运行它,获得预期的结果(two_column),没有任何问题。