我想要一个 Javascript 函数来删除网站上的所有文本。背景是为了比较渲染的DOM在不同浏览器中的外观,我需要消除之前的明显差异。由于字体渲染是一个已知的区别,我想删除每个文本。我找到的解决方案总是这样:
if(start.nodeType === Node.TEXT_NODE)
{
start.parentNode.removeChild(start);
}
但这只会删除纯文本节点。我还想找到如下结构:
<div>
<p>
<em>28.11.2014</em>
<img></img>
Testtext
<span>
<i>Testtext</i>
Testtext
</span>
</p>
</div>
其中包含文本的元素还包含类似 or 的子元素。这样,该元素就不会被识别为文本节点。
所以我基本上想把上面的DOM变成这样:
<div>
<p>
<em></em>
<img></img>
<span>
<i></i>
</span>
</p>
</div>