Javascript 在html正文中找到一个单词后,用另一个替换它
我有一段代码,可以在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
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”);
可能重复的