首页 > jQuery :contains()问题?

jQuery :contains()问题?

    <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");
【热门文章】
【热门文章】