mozilla

Text.splitText

概述

splitText方法可以根据指定的偏移量将一个文本节点分割成前后两个独立的兄弟节点.

语法

replacementNode = textnode.splitText(offset) 

参数

  • replacementNode会指向分割之后的后一个文本节点.
  • offset是指定的偏移量,值为从0开始到字符串长度的整数.

异常

INDEX_SIZE_ERR
如果指定的偏移量小于0或者大于原文本节点中所包含字符串的长度,则抛出这个异常.
NO_MODIFICATION_ALLOWED_ERR
如果,原文本节点只读,则抛出这个异常.

例子

下面的例子中,一个<p>元素所包含的文本节点将会被分割成两个文本节点,然后在这两个节点中间插入一个<span>元素.

<body>
  <p id="p">foobar</p>

  <script type="text/javascript">
    var p = document.getElementById('p');
    var textnode = p.firstChild;

    // 将原文本节点分割成为内容分别为foo和bar的两个文本节点
    var replacementNode = textnode.splitText(3);

    // 创建一个包含了内容为' span contents '的文本节点的span元素
    var span = document.createElement('span');
    span.appendChild(document.createTextNode(' span contents '));

    // 将span元素插入到后一个文本节点('bar')的前面
    p.insertBefore(span, replacementNode);

    // 现在的HTML结构成了<p id="p">foo <span>span contents</span> bar</p>
  </script>
</body>

附注

如果指定的偏移量刚好等于原文本节点所包含字符串的长度,则返回一个内容为空的文本节点.

分割后的文本节点还可以使用Node.normalize方法来合并.

规范

相关链接

文档标签和贡献者

向此页面作出贡献: teoli, ziyunfei
最后编辑者: teoli,