我有这个:
<ul>
<li class="active">
</ul>
我想检测某些li
是否具有类active
,然后将Class visible
添加到ul
。
我正在尝试:
$(document).ready(function(){
var check = $( "li" ).hasClass( "active" );
if(check){
$(this).parent('li').addClass('visible');
}
});
但是不起作用,
答案 0 :(得分:1)
$(document).ready(function(){
var check = $( "li" ).hasClass( "active" );
if(check){
$(this).parent('li').addClass('visible');
}
});
这里的主要问题是this
不是您认为的那样。不过,由于您正在尝试做parent('li')
,所以我不确定您的想法。您似乎认为这是li的孩子。但事实并非如此。因为它已经准备好在文档中,所以很可能是window
。
在任何情况下,都可以简化这种逻辑。
$('li.active').closest('ul').addClass('visible');
选择具有该类的元素,而不是选择li然后测试它们是否具有类。然后使用closest('ul')
上下文联系他们的父母,然后可以将该类添加到父母uls。