为什么不添加课程:
<ul class="sub-menu" style="display: none;">
HTML:
<ul class="sub-menu" style="display: none;">
<li id="menu-item-18" class="current-menu-item page_item current_page_item">
<a href="#">Sitename</a>
</li>
</ul>
JQuery的:
if ($('.sub-menu li').hasClass('current-menu-item')) {
$(this).parent().addClass('active');
}
同样的结果:
if ($('li').hasClass('current-menu-item')) {
$(this).parent().addClass('active');
}
答案 0 :(得分:1)
因为this
未引用您在if
声明中找到的元素。
您将遍历元素并检查每个元素:
$('.sub-menu li').each(function(i, el){
if ($(el).hasClass('current-menu-item')) {
$(el).parent().addClass('active');
}
});
但是,在这种情况下,您只需选择匹配的元素,获取每个父元素并将类添加到所有元素:
$('.sub-menu li.current-menu-item').parent().addClass('active');