我正在尝试突出显示搜索字词,但它不会分割字词。两个单词作为一个字符串,仅按字符串突出显示字符串。
在demo中,您可以看到“Windows XP”突出显示但不是“Windows”。我应该怎么做才能突出显示这两个词?
$(document).ready(function() {
$('p,a').highlight('Windows XP');
});
谢谢你的回答,但我想你们都不明白。搜索项取自输入字段,因此会发生变化。它永远不会是Windows XP,它可以是“海滩上的阳光”,我想要突出显示所有单词而不仅仅是“太阳”
答案 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);
});