मैं एक बुकमार्कलेट लिखने की कोशिश कर रहा हूं जो दस्तावेज़ पर दृश्यमान पाठ के सभी उदाहरणों पर फ़ंक्शन doSomething(textNode)
पर कॉल करता है।सभी टेक्स्ट नोड्स खोजें
doSomething()
, बस मस्ती के लिए, पाठ को प्रतिस्थापित करके टेक्स्ट "टेक्स्ट" को प्रतिस्थापित करके "डरप" के साथ प्रत्येक शब्द को प्रतिस्थापित करता है। हालांकि, यह कुछ टेक्स्ट नोड्स बनाता है जो उनमें शब्दों के लिए खाली हैं, इसलिए यह वेब पेज को तोड़ देता है।
क्या 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);