13
我正在尝试编写一个书签,它在文档上的所有可见文本实例上调用函数doSomething(textNode)
。查找所有文本节点
doSomething()
,只是为了好玩,通过替换传递给它的textNode的textContent替换每个单词与“derp”。但是,这会使一些空的textNode在其中包含单词,因此会打破网页。
有没有办法仅在每个包含单词的textNode上调用doSomething()
?
function recurse(element)
{
if (element.childNodes.length > 0)
for (var i = 0; i < element.childNodes.length; i++)
recurse(element.childNodes[i]);
if (element.nodeType == Node.TEXT_NODE && element.nodeValue != '')
doSomething(element);
}
var html = document.getElementsByTagName('html')[0];
recurse(html);