splitText() 分割文本节点 – 学习画板

首页 » DOM » splitText() 分割文本节点

splitText() 分割文本节点

Text类型提供了一个作用与normalize()相反的方法:splitText()。这个方法将一个文本节点分成两个文本节点,即按照指定的位置分割nodeValue值。原来的文本节点将包含从开始到指定位置之前的内容,新文本节点将包含剩下的文本。这个方法返回一个新文本节点,该文本节点,该节点与原节点的parentNode相同。来看下面的例子:

var element = document.createElement("div");
element.className = "message";
var textNode = document.createTextNode("Hello world!");
element.appendChild(textNode);
document.body.appendChild(element);
var newNode = element.firstChild.splitText(5);
alert(element.firstChild.nodeValue);    //"Hello"
alert(newNode.nodeValue);    //" world!"
alert(element.childNodes.length);   //2

在这个例子中,包含“Hello world!”的文本节点被分割为两个文本节点,从位置5开始。位置5是“Hello”和“world!”之间的空格,因此原来的文本节点将包含字符串“Hello”,而新文本节点将包含文本“world!”(包含空格)。

分割文本节点是从文本节点中提取数据的一种常用DOM解析技术。

此文章发表在 DOM. 将 固定链接 加入收藏.