我一直以为jQuery只能操作DOMelements,即那些具有nodeType == 1
.
然而令我震惊的是,在创建 HTML 时$("<p> </p><!-- comment -->")
结果是:
[p, Comment { data=" comment ", length=21, nodeName="#comment", more...}]
(萤火虫格式)
我通过 AJAX 接受了一些 HTML,并以这种方式创建了 DOM Comment,并将其传递给仅适用于元素的函数:defaultView.getComputedStyle( elem, null )
有什么干净的方法可以解决这个问题吗?
我一直以为 jQuery 只对 DOM 元素进行操作
仅其选择器selectDOM 元素。在您的例子中,您将根据您提供的 HTML 字符串创建节点。因此 jQuery 解析该字符串并返回您所要求的节点。
要清洁它,请执行.filter()
.
var els = $("<p> </p><!-- comment -->").filter(function() {
return this.nodeType === 1;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)