0

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

更新/新问题:如果 li 有另一个指定的类,我可以让它添加类,而不是检测 li 的内容吗?

4

2 回答 2

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 检查它们的内容。

于 2013-04-29T01:26:32.017 回答
1
$('li').filter(function () {
    return $(this).text().indexOf('certain string') !== -1;
}).addClass('certainClass');

您可以使用 jQueryfilter函数。

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

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

此时您可能应该只更新初始选择器:

$('li.specified-class').addClass('certainClass');
于 2013-04-29T01:30:27.137 回答