我在这里有一个 jsfiddle - http://jsfiddle.net/stevea/QpNbu/3/ - 它收集outerHTML
所有具有class='active'
. 令我惊讶的是,即使我注释掉了一些 HTML,如下所示:
<!-- <div>'Some inner text'</div> -->
outerHTML
仍然把它带回来!这不能仍然在 DOM 中,所以我想知道在哪里outerHTML
寻找。
感谢您的任何见解。
我在这里有一个 jsfiddle - http://jsfiddle.net/stevea/QpNbu/3/ - 它收集outerHTML
所有具有class='active'
. 令我惊讶的是,即使我注释掉了一些 HTML,如下所示:
<!-- <div>'Some inner text'</div> -->
outerHTML
仍然把它带回来!这不能仍然在 DOM 中,所以我想知道在哪里outerHTML
寻找。
感谢您的任何见解。
令人惊讶的是, HTML 中的注释实际上是 DOM 的一部分!如果您在此处查看此屏幕截图:
您会看到 google chrome 网络检查器将其呈现为 DOM 的一部分(请注意底部栏如何将其显示为子项div#box1.active
。)
对于更具体的文档,如果您查看MDN 上Node.nodeType
DOM 节点的可能 s ,您会发现s是有效类型之一。COMMENT_NODE
COMMENT_NODE 8
W3还为 DOM 定义了Comment接口:
该接口继承自CharacterData,表示注释的内容,即开头'<!--' 和结尾'-->' 之间的所有字符。请注意,这是 XML 中注释的定义,实际上是 HTML,尽管一些 HTML 工具可以实现完整的 SGML 注释结构。
HTML 注释是 DOM 的一部分,它们只是被浏览器忽略以显示。