1.文本节点概览
HTML文档中的文本表现为 Text()构造函数的示例,即文本节点。
Text从CharacterData、Node及Object继承。
2.文本对象属性与方法
属性:
- .data:可获取Text节点的文本值/数据
- .nodeValue:可获取Text节点的文本值/数据
- textContent:
可用来获取所有子文本节点,或设置节点内容成某一特定Text节点。
当在某个节点上用它获取该节点文本内容时,它将返回一个由调用该方法的节点内所有文本节点合并的字符串。
当用textContent设置某个节点所含文本时,它将先移除所有子节点,替换它们为单个Text节点。
方法:
- createTextNode():以编程的方式创建Text节点
- appendData():添加文本节点的值
- deleteData():删除文本节点某一起始位置的值
- insertData():在文本节点的某一处地方插入值
- replaceData():替换文本节点的某一起始位置的值
- subStringData():获取文本节点的子文本节点的值
- normalize():合并兄弟文本节点为单个文本节点
- splitText():改变在其上调用的文本节点,并返回一个新的包含分隔出来的文本的Text节点。该文本根据偏移量从原文本中分隔。
3.其他:
- 空白符也表现为文本节点。回车也被认为是文本节点
- 有多个兄弟文本节点的情况:
1.某个文本节点包含一个Element节点
2.以编程的方式添加Text节点到某个我们代码创建的的元素
- textContent与innerText的区别:
1.innerText知道CSS。如果有隐藏的文本,innerText会无视它。textContent不会。
2.innerText无视<script></script>元素所含的Text节点。
3.innerText不会使返回的文本规范化。textContent会完全按照文档所含返回。
4.innerText被认为是非标准的,textContent则是依据DOM规范实现的。