Javascript将文本插入div

时间:2012-11-27 21:34:19

标签: javascript dom highlighting

这是Removing <span> tag while leaving content intact, with just javascript

的后续问题

如果我使用跨度突出显示页面中的文本,它会将内容分解为新节点。然后,当我使用replaceChild删除突出显示跨度时,节点保持分离。我希望将原始文本合并回单个文本节点,而不是三个文本节点 - 突出显示开始之前的文本,之前突出显示的文本以及突出显示结束后的文本。这可能吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试类似

的内容
 containerElement.innerHTML = containerElement.textContent;

由于textContent,不确定它会在9之前的IE上运行。

答案 1 :(得分:2)

与Jim的建议相似,但适用于IE:

containerElement.innerHTML = containerElement.textContent || containerElement.innerText;

或更长的版本:

var text = containerElement.textContent || containerElement.innerText;

while (containerElement.firstChild) {
    containerElement.removeChild(containerElement.firstChild);
}
containerElement.appendChild(document.createTextNode(text));

我认为第一个更简单。