我正在尝试编写一个if语句来检查LI元素的html是否与变量匹配,如果匹配,则向该特定li添加一个类。
我的HTML:
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
到目前为止我尝试过:
var x = "Three";
if($('li').html() == x) {
$(this).addClass("active");
}
期望的结果:
<li>One</li>
<li>Two</li>
<li class="active">Three</li>
<li>Four</li>
答案 0 :(得分:3)
我想你会想要使用过滤方法:
var x = "Three";
$( "li" ).filter(function( index ) {
return $(this).html() == x;
}).addClass("active");
答案 1 :(得分:2)
您也可以使用.each()
var x = "Three";
$('li').each(function() {
if($(this).html() == x) {
$(this).addClass("active");
}
});
答案 2 :(得分:2)
您需要使用filter
方法:
var x = "Three";
$('li').filter(function(){
return $.trim(this.innerHTML) == x;
}).addClass('active')
答案 3 :(得分:1)
这是一种方式 -
var x = "Three";
$('li').each(function() {
if( $(this).is(':contains("' + x + '")')) {
$(this).addClass('active');
}
});
答案 4 :(得分:0)
试试这个
var x = "Three";
$('li').each(function(i,elem){
if($(elem).text() == x) {
$(this).addClass("active");
}
});