jquery - jQuery 如何处理评论元素?

标签 jquery html parsing comments innerhtml

我一直认为 jQuery 只对 DOM 元素 进行操作,也就是那些具有 nodeType == 1 的节点。 .

然而,令我震惊的是,在创建 HTML 时 $("<p> </p><!-- comment -->")结果:

[p, Comment { data=" comment ", length=21, nodeName="#comment", more...}] ( Firebug 格式化)

我通过 AJAX 接受了一些 HTML,并以这种方式创建了一个 DOM 注释,并在某处传递给了一个仅适用于元素的函数:defaultView.getComputedStyle( elem, null )

有一些干净的方法吗?

最佳答案

I always thought that jQuery operates only on DOM elements

它的选择器只选择 DOM 元素。在您的例子中,您正在根据提供的 HTML 字符串创建节点。所以 jQuery 解析字符串并返回您请求的节点。

要清理它,请执行 .filter()

var els = $("<p> </p><!-- comment -->").filter(function() { 
                                                  return this.nodeType === 1; 
                                               });

关于jquery - jQuery 如何处理评论元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229076/

相关文章:

javascript - 如何使用 javascript 获取下拉选择的值?

jQuery 可排序语法错误 : missing name after . 运算符

javascript - Angular Js 试图从主按钮回调中动态更改模式文本并且不起作用

python - 默认子命令,或不使用 argparse 处理子命令

java - 如何编写一个基本的 JSON 解析类

javascript - 如何将jquery函数绑定(bind)到指定元素

javascript - 应用 CSS :after with javascript (no jquery)

javascript - appendChild 为空 | javascript/html

python - 在scrapy中解析href的链接项

jquery - Backbone : Merge models but keep data bindings