1,介绍
- 表示文本的节点。
- 可以包含纯文本,转义后的HTML字符,但不能包含HTML代码。
代码示例
<!-- 没有内容,也就没有文本节点 --> <div></div> <!-- 有空格,因而有一个文本节点 --> <div> </div> <!-- 有内容,因而有一个文本节点 --> <div>hello world!</div>
2,属性
- nodeType的值为3。
- nodeName的值为“#text”。
- nodeValue的值为节点所包含的文本;
- parentNode是一个Element;
- 没有子节点
- data的值等于nodeValue,获取节点内包含的文本。
- length,表示节点中字符的数目。相应的,nodeValue.length和data.length中保存着同样的值。
3,方法
- appendData(text)
- deleteData(offset,count):删除从offset位置count个字符。
- insertData(offset,text):在offset位置插入text。
- replaceData(offset,count,text):用text替换从offset位置开始到offset,count为止处的文本。
- splitText(offset):从offset位置将当前文本节点分成两个文本节点。
- substringData(offset,count):提取从offset位置将当前文本节点分成两个文本节点。
document.creatTextNode()
- 创建新文本节点
- 接收一个参数:要插入节点的文本
- 会为其设置ownerDocument属性。
代码示例
var element = document.createElement("div"); element.className = "message"; var textNode = document.createTextNode("Hello world!"); element.appendChild(textNode); document.body.appendChild(element);
- 一般情况下,每个元素只有一个文本子节点。不过,在某些情况下也可能包含多个文本子节点。
- 如果两个文本节点是相邻的同胞节点,那么这个两个节点中的文本就会连起来显示,中间不会有空格。
- normalize()
- 规范化文本节点,合并相邻文本节点的方法。
- 结果节点的nodeValue等于将合并前每个文本节点的nodeValue值拼接起来的值。