我正在试图弄清楚如何检查childNode的类。我目前有一个这样的列表:
<li>
<a href="#">Link</a>
<ul class="children">
<li class="current"></li>
<li></li>
<li></li>
</ul>
</li>
以前,一个额外的'活动'类正在应用于包含li.current的ul,我有这个jQuery脚本,它正在执行将父li标记为活动以及兄弟a:< / p>
jQuery("ul.active").siblings('a').addClass('current').parent().addClass('current');
但是'active'类不再被应用了,所以我需要检查任何ul.children的子项以查看是否有任何li.current。我只是不确定如何去做...
答案 0 :(得分:1)
使用hasClass()
命令
if ($("ul.children li").hasClass('current')) {
// at least one of the <li> elements of the ul has the current CSS class
}
或检查至少在<li>
上是否有CSS类current
的其他方法是使用长度
if ($("ul.children li").length > 0) {
// at least one of the <li> elements of the ul has the current CSS class
}
然后将该类添加到同级<a>
和<li>
进一步
var listItems = $("ul.children li");
if (listItems.length > 0) {
listItems.parents('li').children('a').andSelf().addClass('current');
}
答案 1 :(得分:1)
工作代码:
jQuery("ul.children li.current").parent().siblings('a').addClass('current').parent().addClass('current');
答案 2 :(得分:0)
$('a, ul.children:has[li.current]', $('li:has[li.current]').addClass('current')).addClass('current')