-1

我正在尝试使用 jQuery 选择li我的菜单的祖父,但失败了。

尝试了许多选择器,例如:

$(this).parents('li').find('a').addClass('current');

但是上面没有选择最远的父母..

<nav>
    <ul>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a>
            <div class="sub">

                <ul>
                    <li><a href=""></a></li>
                    <li><a href=""></a></li>
                    <li><a href=""></a></li>
                </ul>
                <ul>
                    <li><a href=""></a></li>
                    <li class="current"><a href=""></a></li>
                    <li><a href=""></a></li>
                </ul>
                <ul>
                    <li><a href=""></a></li>
                    <li><a href=""></a></li>
                    <li><a href=""></a></li>
                </ul>

            </div>
        </li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
    </ul>
</nav>

我想选择有班级的祖父母li acurrent

4

4 回答 4

3

您可以使用closest(),但由于它从当前元素开始closest('li'),因此不起作用,因此您必须找到最接近的 UL,然后找到最接近的 LI :

$(this).closest('ul').closest('li')
于 2013-05-30T10:01:16.443 回答
1

您好,请使用以下代码,这些代码需要在单击具有当前类的元素时触发。代码就像。

$(".current").bind("click",function(event){
    var desiredElement = $(this).parents('li:first');
})
于 2013-05-30T10:07:29.143 回答
0
$(".current").parents('ul').parents('li').find('a')
于 2013-05-30T12:28:34.800 回答
0

试试这个

$(this).parent().closest("li").addClass('current');
于 2015-09-01T10:48:00.470 回答