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

Add class to li if content is a certain string

本文关键字:则向 li 添加 字符串 如果      更新时间:2023-09-26

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

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

回答同伴的扩展问题:

$('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((,如果需要,甚至可以使用更高级的regex。但基本上,您必须以一种或另一种形式循环遍历li,以根据您的testString检查它们的内容。

$('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');