jQuery突出显示所有术语

时间:2014-02-25 14:38:58

标签: javascript jquery

我正在尝试突出显示搜索字词,但它不会分割字词。两个单词作为一个字符串,仅按字符串突出显示字符串。

demo中,您可以看到“Windows XP”突出显示但不是“Windows”。我应该怎么做才能突出显示这两个词?

 $(document).ready(function() {

          $('p,a').highlight('Windows XP');

});

谢谢你的回答,但我想你们都不明白。搜索项取自输入字段,因此会发生变化。它永远不会是Windows XP,它可以是“海滩上的阳光”,我想要突出显示所有单词而不仅仅是“太阳”

我更新了演示 http://jsfiddle.net/eayan/12/

4 个答案:

答案 0 :(得分:2)

从插件的文档(可用here):

  

通过使用术语数组作为第一个属性运行高亮显示,您可以一次突出显示多个文本。它比多次运行高亮功能要快得多。

     

$("body p").highlight(["jQuery", "highlight", "plugin"]);

这意味着你可以简单地使用:

$('p,a').highlight(['Windows XP', 'Windows']);

答案 1 :(得分:1)

假设您使用

获取字符串
var s = $('#myInput').val();

DO

s.split(' ').forEach(function(token){
    $('p,a').highlight(token);
});

$("body p").highlight(s.split(' '));

答案 2 :(得分:1)

试试这个,它应该突出显示整个字符串和单词。

var searchterm = "Windows XP";
var tohighlight = searchterm.split(" ");
tohighlight.push(searchterm);
$("p,a").highlight(tohighlight);

答案 3 :(得分:1)

希望您正在寻找:

 var term = $('#q').val();
 $.each(term.split(" "),function(i,v){
     $('p,a').highlight(v);
 });