防止默认并仅将活动类添加到父列表的链接下拉菜单中

时间:2014-07-05 18:13:43

标签: javascript jquery

我想要防止默认,并在下拉菜单中将活动类添加到列表的父链接。我的代码就是:

标记:

<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');
    }
});

但这也是对儿童名单的影响,这是不可取的。我如何只添加课程并防止父母而不是孩子的默认?谢谢。

1 个答案:

答案 0 :(得分:0)

将您的选择器更改为:

$('.subNavMobile > li > a')

您的选择器与a内任意位置的.subNavMobile > li匹配,但您只需要a作为其直接子项。{/ p>

为了防止默认,请输入

e.preventDefault();

在函数中。