这是Removing <span> tag while leaving content intact, with just javascript
的后续问题如果我使用跨度突出显示页面中的文本,它会将内容分解为新节点。然后,当我使用replaceChild
删除突出显示跨度时,节点保持分离。我希望将原始文本合并回单个文本节点,而不是三个文本节点 - 突出显示开始之前的文本,之前突出显示的文本以及突出显示结束后的文本。这可能吗?
答案 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));
我认为第一个更简单。