如果内容是某个字符串,则将类添加到li

时间:2013-04-29 01:25:04

标签: javascript jquery

是否可以使用JavaScript / jQuery将某个类添加到包含特定文本字符串的li中?

更新/新问题: 如果li有另一个指定的类,我可以让它添加类吗?

而不是检测li的内容

2 个答案:

答案 0 :(得分:6)

回答这位老乡的问题:

$('li.yourClass').addClass('anotherClass');

你问的是非常基本的问题。我建议你花一些时间在网站上的初学jQuery教程,你会更好地理解所有这些。

编辑:忽略我的老答案。你每天都学到一些东西。这样做,而不是我说的话:

//http://api.jquery.com/contains-selector/
$('li:contains('+ searchText +')').addClass('myClass');

旧答案:

$('li').each(function(){

    var _this = $(this);
    if( _this.text() === testString ){
        _this.addClass('myClass');
    }

});

在if语句中,您可以更改它以检查您的li的.html(),如果需要,甚至可以执行更高级的正则表达式。但基本上,你必须以一种或另一种形式遍历li,以检查它们的内容与你的testString。

答案 1 :(得分:1)

$('li').filter(function () {
    return $(this).text().indexOf('certain string') !== -1;
}).addClass('certainClass');

您可以使用jQuery filter函数。

过滤函数可以通过选择器而不是函数传递:

$('li').filter('.specified-class').addClass('certainClass');

此时你应该只更新初始选择器:

$('li.specified-class').addClass('certainClass');