function highlight(container,what) {
var content = container.innerHTML,
pattern = new RegExp('(>[^<.]*)(' + what + ')([^<.]*)','g'),
replaceWith = '$1<span style="background-color:red">$2</span>$3',
highlighted = content.replace(pattern,replaceWith);
return (container.innerHTML = highlighted) !== content;
}
以上是为突出整个网页中的特定单词而编写的函数。
我正在使用
highlight(document.body,"the");
它有效。如果找到任何单词,则会使其成为红色背景。现在的问题是,一旦我运行这些函数,javascript就会停止在网页上运行。
有人可以帮我解决问题。我的猜测是正则表达式有问题。我是regex的新手。
感谢您的帮助。