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,即分割前后的文本节点还在之前所在的位置,只不过变成了两个节点

 

posted @ 2016-09-20 21:53  shenlong77  阅读(215)  评论(0编辑  收藏  举报