我想强调内部的任何HTML标签里面的身体,但不是所有的词匹配的字。 例如给出的关键字是“对”。 这里的一段话:
Example of paragraph. Lorem ipsum dolor sit amet.
导致:
Example of paragraph. Lorem ipsum dolor sit amet.
我知道,这是可能的JavaScript的replace()但我不知道很多关于正则表达式。
Answer 1:
演示: http://jsfiddle.net/crgTU/7/
highlightWord(document.body,'para');
function highlightWord(root,word){
textNodesUnder(root).forEach(highlightWords);
function textNodesUnder(root){
var n,a=[],w=document.createTreeWalker(root,NodeFilter.SHOW_TEXT,null,false);
while(n=w.nextNode()) a.push(n);
return a;
}
function highlightWords(n){
for (var i; (i=n.nodeValue.indexOf(word,i)) > -1; n=after){
var after = n.splitText(i+word.length);
var highlighted &