在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");});
在浏览器中,此代码无效。但其他浏览器显示正确的结果。 如果有人知道解决方案,请更新。
答案 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
),没有任何问题。