我在这里有一个jsfiddle - http://jsfiddle.net/stevea/QpNbu/3/ - 为outerHTML
的所有元素收集class='active'
。令我惊讶的是,即使我注释掉了一些HTML,例如:
<!-- <div>'Some inner text'</div> -->
outerHTML
仍然会把它带回来!这还不能在DOM中,所以我想知道outerHTML
在哪里。
感谢您的任何见解。
答案 0 :(得分:18)
HTML中的注释令人惊讶,实际上是DOM的一部分!如果你看这个屏幕截图:
您会看到Google Chrome网页检查程序将其呈现为DOM的一部分(请注意底栏如何将其显示为div#box1.active
的子项。)
有关更具体的文档,如果您查看DOM节点on MDN的可能Node.nodeType
,您会看到COMMENT_NODE
是有效类型之一。
COMMENT_NODE 8
W3还定义了DOM的 Comment 接口:
此接口继承自CharacterData并表示注释的内容,即起始'&lt;! - '和结束' - &gt;'之间的所有字符。请注意,这是XML中注释的定义,实际上是HTML,尽管某些HTML工具可能会实现完整的SGML注释结构。
答案 1 :(得分:2)
HTML注释是DOM的一部分,它们只是被浏览器忽略才能显示。