【发布时间】:2022-01-17 12:06:26
【问题描述】:
JavaScript 中的以下函数在文档正文中为每个匹配的单词添加一个 <mark> 标记。
var words = ["apple", "banana", "carrot", "pear"];
for (var i=0; i < words.length; i++) {
var replace = new RegExp(words[i],"g");
var page = document.body.innerHTML;
var newPage = page.replace(replace, `<mark>${words[i]}</mark>`);
document.body.innerHTML = newPage;
}
这样,如果 <body> 是数组 words 中的一个元素,它会突出显示该单词。
我遇到的问题是 document.body.innerHTML 在每次迭代时都会被替换。你知道如何替换页面中将document.body.innerHTML = newPage的数量限制为1的匹配词吗?
提前感谢您的回复!
【问题讨论】:
-
在this question ..上应用其中一个答案?
标签: javascript arrays for-loop replace