为什么 jQueryeach() 不能在 Internet Explorer 中触发?
我有一个带有以下 XML 的变量 result
:
<Properties>
<Property>
<Name>Title</Name>
</Property>
</Properties>
然后我将 jQuery 1.4.3 与 each()
一起使用:
$('Property', result).each(function () {
var name = $('Name', this).text();
alert("Name: " + name);
});
由于某种原因,此代码在 IE8 下不会触发它在 Firefox 3.6 和 Chrome 7 上运行良好。我试图找到这种情况的错误报告,但只发现旧版 jQuery 的问题。
有什么想法吗?
I have a variable result
with the following XML:
<Properties>
<Property>
<Name>Title</Name>
</Property>
</Properties>
I'm then using jQuery 1.4.3 with each()
:
$('Property', result).each(function () {
var name = $('Name', this).text();
alert("Name: " + name);
});
For some reason this code isn't firing under IE8 however it works fine on Firefox 3.6 and Chrome 7. I've tried to find a bug report for this case but only found issues with older jQuery versions.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是由 IE 中的错误引起的:
好消息 - IE9 中不会发生这种情况。 (感谢这个答案)。
This is caused by a bug in IE:
Good news - it doesn't occur in IE9. (Thanks to this SO answer).
在 IE 中,xml 字符串必须是对象,而其他浏览器允许字符串类型。
我遇到了同样的问题,我使用ajax获取xml数据,直到我在ajax函数中添加数据类型之前,每个数据都无法在IE8中工作:
上面的工作正常,而下面的失败:
In IE an xml string must be an object while the other browsers allow string type.
I had the same problem, I was getting xml data with ajax and each didn't work in IE8 until I added data type in ajax function:
The above worked fine while the below failed:
为什么不使用 jQuery.XSLT 插件?我相信它在所有支持 jQuery 的浏览器中都表现良好
Why not use jQuery.XSLT plugin? It works great in all browsers where jQuery works I believe