0

这是Removing <span> 标签的后续问题,同时保持内容完整,仅使用 javascript

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

4

2 回答 2

3

你可以尝试类似的东西

 containerElement.innerHTML = containerElement.textContent;

由于 textContent,不确定是否可以在 9 之前的 IE 上运行。

于 2012-11-27T21:38:48.110 回答
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));

我认为第一个更简单。

于 2012-11-27T22:49:36.357 回答