我想要防止默认,并在下拉菜单中将活动类添加到列表的父链接。我的代码就是:
标记:
<ul class="subNavMobile">
<li>
<a href="#">link parent</a>
<ul>
<li><a href="anurl.html">child link</a></li>
</ul>
</li>
<li><a href="#">link parent2</a></li>
<li><a href="#">link parent3</a></li>
</ul>
jQuery的:
$('.subNavMobile > li a').on('click', function (e) {
var parent = $(this).parent();
if (!parent.hasClass('active')) {
parent.parent().find('li.active').removeClass('active');
parent.addClass('active');
} else {
parent.removeClass('active');
}
});
但这也是对儿童名单的影响,这是不可取的。我如何只添加课程并防止父母而不是孩子的默认?谢谢。
答案 0 :(得分:0)
将您的选择器更改为:
$('.subNavMobile > li > a')
您的选择器与a
内任意位置的.subNavMobile > li
匹配,但您只需要a
作为其直接子项。{/ p>
为了防止默认,请输入
e.preventDefault();
在函数中。