Comment类型
DOM 中的注释通过 Comment 类型表示。Comment 类型的节点具有以下特征: nodeType 等于 8; nodeName 值为"#comment"; nodeValue 值为注释的内容; parentNode 值为 Document 或 Element 对象; 不支持子节点。 Comment 类型与 Text 类型继承同一个基类(CharacterData),因此拥有除 splitText()之外 Text 节点所有的字符串操作方法。与 Text 类型相似,注释的实际内容可以通过 nodeValue 或 data 属性获得。
为 Comment 或 Element。比如下面这行代码:
<div id="myDiv"><![CDATA[This is some content.]]></div> 12
这里
的第一个子节点应该是 CDATASection 节点。但主流的四大浏览器没有一个将其识别为 CDATASection。即使在有效的 XHTML 文档中,这些浏览器也不能恰当地支持嵌入的 CDATA 区块。
注释节点可以作为父节点的子节点来访问。比如下面的 HTML 代码:
<div id="myDiv"><!-- A comment --></div>
这里的注释是
元素的子节点,这意味着可以像下面这样访问它:
let div = document.getElementById("myDiv");
let comment = div.firstChild;
alert(comment.data); // "A comment"
可以使用 document.createComment()方法创建注释节点,参数为注释文本,如下所示: let comment = document.createComment("A comment"); 显然,注释节点很少通过 JavaScrpit 创建和访问,因为注释几乎不涉及算法逻辑。此外,浏览器不 承认结束的标签之后的注释。如果要访问注释节点,则必须确定它们是元素的后代。
CDATASection类型
CDATASection 类型表示 XML 中特有的 CDATA 区块。CDATASection 类型继承 Text 类型,因 此拥有包括 splitText()在内的所有字符串操作方法。CDATASection 类型的节点具有以下特征: nodeType 等于 4; nodeName 值为"#cdata-section"; nodeValue 值为 CDATA 区块的内容; parentNode 值为 Document 或 Element 对象; 不支持子节点。 CDATA 区块只在 XML 文档中有效,因此某些浏览器比较陈旧的版本会错误地将 CDATA 区块解析 在真正的 XML 文档中,可以使用 document.createCDataSection()并传入节点内容来创建 CDATA区块。