是否可以使用JavaScript / jQuery将某个类添加到包含特定文本字符串的li中?
更新/新问题: 如果li有另一个指定的类,我可以让它添加类吗?
而不是检测li的内容答案 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');