IE 中的 TEXT_NODE < 9 个 jQuery 问题
我有这个简单的函数来查找“未包装”文本并将其包装到 div 中。
除了 IE < 之外,它工作正常。 9. 我可以在此处更改什么才能使其正常工作。
$('#categories_list') .contents() .filter(function() { 返回 this.nodeType == Node.TEXT_NODE; }).wrap("");
非常感谢。
多姆
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
IE 中未定义节点类型常量,因此在您的代码中,
Node.TEXT_NODE
未定义,而不是应有的3
。本质上,在 IE 中< 9、你的过滤器询问3 == undefined
,这显然是错误的。请参阅:如何在 IE 中访问节点类型常量 获取解决方法。
Node type constants aren't defined in IE, so in your code there
Node.TEXT_NODE
is undefined not3
as it should be. Essentially, in IE < 9, your filter is asking3 == undefined
, which obviously is false.See: How does one access the Node Type Constants in IE for workarounds.