当前位置:  开发笔记 > 编程语言 > 正文

在文本之间插入节点

如何解决《在文本之间插入节点》经验,为你挑选了2个好方法。

我熟悉在给定参考节点之前或之前插入文本节点.但是,我想知道如何在给定节点中的文本之间插入标记.例如,

Before insertion: 

Lorem dolor

After insertion:

Lorem ipsum dolor

必须在另一个节点内的N个字符(我不需要用户的光标选择位置)之后插入span节点.那可能吗?



1> Greg..:

您需要将文本放入变量中,然后将其从DOM中删除.拆分它,然后插入第一部分,然后插入span节点,然后插入第二部分.

var p = document.getElementById('myParagraph');
var text = p.childNodes[0];

// Split the text
var len = 5
var text1 = text.nodeValue.substr(0, len);
var text2 = text.nodeValue.substr(len);

var span = document.createElement('span');
span.appendChild(document.createTextNode(' dolor'));

// Remove the existing text
p.removeChild(p.childNodes[0]);

// Put the new text in
p.appendChild(document.createTextNode(text1));
p.appendChild(span);
p.appendChild(document.createTextNode(text2));



2> Sergey Ilins..:

正确的方法(使用DOM-Core接口)将是:

var p = document.getElementById('myParagraph');
var text = p.childNodes[0];
var at = 5;

// create new span node with content
var span = document.createElement("span");
span.appendChild(document.createTextNode('ipsum'));

// Split the text node into two and add new span
p.insertBefore(span, text.splitText(at));

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有