Text节点
Text节点为文本节点
nodeType为3
nodeName为“#Text”
nodeValue为文本节点的内容,nodeValue也可以用data表示,都代表文本节点的内容
<div>hello</div>
设取得的div的对象为div
则div.firstChild就是一个文本节点
var a=div.firstChild;
a有如下的方法
a.appendData("hhhhh") 在a中的文本的后面插入一段文字
a.deleteData(num1,num2) 删除a中字符下标为num1到字符下标为num2之间的字符串
a.insertData(num,"ssss") 在a中字符下标为num的字符后面插入一段字符串
a.substringData(num1.num2) 提取a中字符下标为num1到字符下标为num2中的部分
a.splitData(num) 在a中字符下标为num的地方将a分成两部分,不保留下标为num的字符,只保留它前面的字符串和后面的字符串
a.replaceData(num1,num2."ssss") 将a中字符下标为num1到字符下标为num2的字符串替换为另一个字符串
a.data.length/a.nodeValue.length 获得a中字符的个数,即a的长度
createTextNode 创建一个文本节点,该方法由document调用
var tx=document.createTextNode("ssssddddd");
div.appendChild(tx)//这样便将文本节点插入了div当中,使其成为div的一个子节点
即<div>ssssddddd</div>
normalize 将一个父节点的几个文本节点合并为一个文本节点,在文本节点的父节点上调用
注:开始标签和结束标签之间,空格算一个文本节点,如果什么都没有就没有文本节点
<div> </div>有一个文本节点
<div></div〉没有文本节点
var tx=document.createTextNode("ssssddddd");
var tx2=document.createTextNode("ssssddddd");
div.appendChild(tx1)
div.appendChild(tx2)
div.childNodes.length//此时为2
div.normalize() //在父节点div上调用该方法,将两个文本节点合并为一个文本节点
div.childNodes.length//此时为1
splitText 将一个文本节点分割成两个文本节点,在文本节点上调用该方法
var tx=document.createTextNode("ssss ddddd");
div.appendChild(tx)
var sss=tx.splitText(4)//该方法返回的结果为后面的字符串,即sss的值为ddddd
如果想获得前面的字符串
可以div.childNiodes.firstChild,即分割前后的文本节点还在之前所在的位置,只不过变成了两个节点