一、Text类型
文本节点由Text类型表示,指的是可以以字面意思解释的纯文本内容,其中包含HTML代码。
nodeType=3
nodeName=#text
nodeValue=文本内容
parentNode是一个Element
nodeValue属性和data属性作用一致,都可以访问文本节点的内容
操作文本节点的内容:
appendData(text);//将text添加到节点的末尾
deleteData(Offset,count);//从Offset位置开始删除count个字符
insertData(Offset,text);//在Offset位置插入text
replaceData(Offset,count,text);//用text替换Offset起Offset+count终的字符
spiltText(offset);//在offset位置将文本分为两个文本节点
substringData(offset,count);//提取从offset到offset+count位置的字符串
每个包含文本的元素只能包含一个文本节点,并且文本节点必须有内容。空格也可以
1、创建文本节点
document.createTextNode();参数为插入节点中的文本。
在创建新的文本节点时,除非将文本节点插入到文档树已存在的节点中,否则不会在浏览器窗口看见新节点。
<script type="text/javascript"> var div=document.createElement("div"); div.className="message"; var text=document.createTextNode("new node"); div.appendChild(text); alert(document.body.appendChild(div)); </script>
这段代码必须放在body中,不然document.body会为null。同时new node会出现在页面中
2、规范化文本节点
合并相邻文本节点的normalize()方法。在一个包含两个或多个文本节点的父元素上调用normalize()方法,会将所有同胞文本节点合并为1个文本节点,节点的nodeValue值为合并之后的值。
<script type="text/javascript"> var div=document.createElement("div"); div.className="message"; var text=document.createTextNode("new node"); var text1=document.createTextNode("new node1"); div.appendChild(text); div.appendChild(text1); alert(div.childNodes.length);//2 div.normalize(); alert(div.childNodes.length);//1 document.body.appendChild(div); </script>
二、Comment类型
注释在DOM中是Comment类型表示的。
nodeName=#comment
parentNode为Document或Element
和Text类型的操作方式相同
三、CDATASection类型
针对XML文档表示CDATA区域继承自Text用于除spiltText之外所有方法
nodeName=#cdata-section
在XML文档中可以使用document.createCDATASection(),方法创建
四、DocumentType类型(不常用)
五、Attr类型
元素的特性在DOM中是以Attr类型来表示的。在所有浏览器中都可以访问Attr类型的构造函数和属性。
parentNode=null;
3个属性:name=nodeName,value=nodeValue,specified