<li>a</li>
<li>b</li>
<li>cc</li>
<li>ad</li>
<li>e</li>
$("li:contains('a')").css("background","red");
如上代码能改变包含‘a’的背景颜色,可以知道有两处被修改,
如果我只想改变 $("li:contains('a')")取到的结果集中的 <li>a</li>的背景,该
如何从结果集中选出这一项呢?
说说我的想法,首先你已经找到符合的li标签了,如果像给里面的某些内容进行高亮,应该在这些内容两边插曲一个标签,可以用span标签,样式设为你需要的颜色。
插入的话用正则匹配一下,逐个替换。
另外有一点是,如果你的内容变了,就需要把span标签重置,还是用正则替换回来。
只有 :contains
选择器似乎做不到,用 .filter()
吧
var highlightText = "a";
$("li").filter(function() {
return $(this).text() === highlightText;
}).css("background", "red");