注释在DOM中通过Comment类型来表示的。Comment节点具有下列特征:
- nodeType的值为8;
- nodeName的值为“#comment”;
- nodeValue的值是注释的内容;
- parentNode可能是Document或Element;
- 不支持(没有)子节点。
Comment类型与Text类型继承自相同的基类,一次它拥有除splitText()之外的所有字符串操作方法。与Text类型相似,也可以通过nodeValue或date属性取得注释的内容。
注释节点可以通过其父节点来访问。以下面的代码为例:
<div id="myDiv"><!--A comment--></div>
在此,注释节点是<div>元素的一个子节点,因此可以通过下面的代码来访问它:
var div = document.getElementById("myDiv"); var comment = div.firstChild; alert(comment.data); //"A comment"
另外,使用document.createComment()并为其传递注释文本也可以创建注释节点,如下面的例子所示:
var comment = document.createComment("A comment");
显然,开发人员很少会创建和访问注释节点,疑问注释节点对算法鲜有影响。此外,浏览器也不会识别与</html>标签后面的注释。如果要访问注释节点,一定要保证他们是<html>元素的后代。
在除IE之外的所有浏览器中,都可以访问Comment类型的构造函数和原型。在IE中,注释节点被视作标签名为”!“的元素。也就是说,使用getElementsByTagName()可以取得注释节点。