Javascript 在html正文中找到一个单词后,用另一个替换它

Javascript 在html正文中找到一个单词后,用另一个替换它,javascript,Javascript,我有一段代码,可以在html页面的整个主体中找到一个单词 var word = "active", queue = [document.body], curr ; while (curr = queue.pop()) { if (!curr.textContent.match(word)) continue; for (var i = 0; i < curr.childNodes.length; ++i) { switch (curr.chi

我有一段代码,可以在html页面的整个主体中找到一个单词

var word = "active",
    queue = [document.body],
    curr
;
while (curr = queue.pop()) {
    if (!curr.textContent.match(word)) continue;
    for (var i = 0; i < curr.childNodes.length; ++i) {
        switch (curr.childNodes[i].nodeType) {
            case Node.TEXT_NODE : // 3
                if (curr.childNodes[i].textContent.match(word)) {
                    console.log("Found!");
                    console.log(curr);
                    // you might want to end your search here.
                    word.replace('active', 'test');
                }
                break;
            case Node.ELEMENT_NODE : // 1
                queue.push(curr.childNodes[i]);
                break;
        }
    }
}
var word=“活动”,
队列=[document.body],
咖喱
;
while(curr=queue.pop()){
如果(!curr.textContent.match(word))继续;
对于(变量i=0;i

我想做的是,如果发现了活动的,用其他的东西替换它,但我已经尝试了一些方法,但我没能做到。我做错了什么?

这将给出您要查找的结果(我决定跳过
'SCRIPT'
节点名
,这样您就不会意外修改任何代码:

让word=“active”;
让队列=[document.body];
让curr;
while(curr=queue.pop()){
如果(!curr.textContent.match(word)| | curr.nodeName==='SCRIPT')继续;
对于(变量i=0;i
asdf
积极的

asdf
word.replace('active'、'test');
将变量
word
中的
active
替换为
test
,并返回(您已丢弃的)更改后的文本…即,该行代码没有任何用处…您需要更改
.textContent
curr.childNodes[i]中的文本.textContent=curr.childNodes[i].textContent.replace(单词“test”);
可能重复的