我选择了一组行,现在我正在尝试确定它们是否包含特定的类。
我已尝试使用hasClass
但未成功以及find
:
var group = $('table').find('[data-group="group1"]');
//this doesn't work, it always enters in the condition
if(group.find('.active')){
alert("Founded?");
group.addClass('green');
}
我也尝试过if(group.find('.active').length)
,但仍然没有得到正确的结果:
答案 0 :(得分:6)
您可以使用hasClass方法执行此操作 http://api.jquery.com/hasClass/
if(group.hasClass('active')){
...
}
如果你试过这个:
if(group.hasClass('.active')){
...
}
当然不会起作用,请注意与“。”的区别。
答案 1 :(得分:3)
试试这个,
if(group.filter('.active').length)
答案 2 :(得分:1)
只想检查tr是否具有类active
并且具有data属性,因此只需一个简单的选择器即可。
var matches = $('table').find('.active[data-group="group1"]'); //This will give you all the trs with the attribute and class active.
if(matches.length > 0)
{
alert('Found Match');
matches.addClass('green');
}
如果你只想申请直接课程,只需将其链接起来:
$('table').find('.active[data-group="group1"]').addClass('green');
答案 3 :(得分:0)
答案 4 :(得分:-1)
.find()
的问题在于它总会返回一个jQuery对象,就像任何其他对象(null
除外)一样真实。
您想检查长度:if( group.find(".active").length > 0)