如何在jQuery中向包含特定字符串的元素添加类?

时间:2011-12-02 18:03:47

标签: jquery

我有这个李清单:

<ul>
  <li>item 1</li>
  <li>item 2</li>
  <li>item 3</li>
  <li>item 4</li>
  <li>item 5</li>
</ul>

如何在“{1}}和<li>标签之间包含”第3项“的li元素中添加”item-3“类?

提前致谢。

5 个答案:

答案 0 :(得分:13)

$('li:contains("item 3")').addClass('item-3');

来自文档(http://api.jquery.com/contains-selector/):

  

匹配的文本可以直接显示在所选元素中   任何该元素的后代,或其组合。和。一样   属性值选择器,括号内的文本:contains()   可以写成裸字或用引号括起来。该   文本必须具有匹配的案例才能被选中。

这是一个jsfiddle:http://jsfiddle.net/jasper/2wcqW/

答案 1 :(得分:5)

$('li').filter(function(){
    return $(this).text() === 'item 3'
}).addClass('yourClass');

答案 2 :(得分:2)

尝试以下

$(document).ready(function () {
  $('ul li').each(function () {
    if ($(this).text() === "item 3") {
      $(this).addClass('item-3');
    }
  });
});

小提琴:http://jsfiddle.net/srpAX/

答案 3 :(得分:2)

$('li:contains("item 3")').addClass('item-3');

答案 4 :(得分:1)

$("li").each(function(){
    if($(this).text() == "Item 3"){
        $(this).addClass("item-3");
    }
});