doSomething(textNode)
ドキュメントに表示されているテキストのすべてのインスタンスで関数を呼び出すブックマークレットを作成しようとしています。
doSomething()
は、面白半分に、渡された textNode の textContent を置き換えることで、すべての単語を「derp」に置き換えます。ただし、これにより、空の textNodes に単語が含まれるようになるため、Web ページが壊れます。
doSomething()
単語が含まれるすべての textNode のみを呼び出す方法はありますか?
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);