JavaScript搜索和突出显示文本

JavaScript搜索和突出显示文本,javascript,jquery,search,Javascript,Jquery,Search,可能重复: 假设我有一个div: <div id="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip

可能重复:

假设我有一个div:

<div id="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
这是可行的,但将highlight类应用于整个div
内容
。我只想突出显示magna aliqua的确切单词,这意味着我必须以某种方式将文本包装在标记中,然后在新标记上应用highlight类


做这件事的最佳方法是什么?

很棒的插件
突出显示
。这个fork支持正则表达式搜索

试试这个

word = 'magna aliqua'
var rgxp = new RegExp(word, 'g');
var repl = '<span class="myClass">' + word + '</span>';

var element = $("#content:contains(word)");
element.html(element.html().replace(rgxp, repl));
word='magna aliqua'
var rgxp=新的RegExp(单词“g”);
var repl=''+word+'';
var元素=$(“#内容:包含(单词)”);
html(element.html().replace(rgxp,repl));

这是一个相对糟糕的例子。它还将尝试替换HTML属性中的单词,并将销毁任何绑定到
元素
中任何元素的事件处理程序。删除我的答案:有一种方法,但它是一个糟糕的示例:(courtesy@FelixKling-这是一个相对糟糕的示例。它还将尝试替换HTML属性中的单词,并将销毁绑定到元素内任何元素的任何事件处理程序。“您也可以查看一下。它还没有完成,但可以用于突出显示简单文本。
word = 'magna aliqua'
var rgxp = new RegExp(word, 'g');
var repl = '<span class="myClass">' + word + '</span>';

var element = $("#content:contains(word)");
element.html(element.html().replace(rgxp, repl));