我正在努力尝试使用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 a
current
的祖父母
答案 0 :(得分:2)
您可以使用closest()
,但是当它从当前元素开始时,closest('li')
将不起作用,因此您必须找到最接近的UL,然后是最接近的LI:
$(this).closest('ul').closest('li')
答案 1 :(得分:0)
您可以使用以下代码,点击具有类当前的元素时需要触发。 代码就像。
$(".current").bind("click",function(event){
var desiredElement = $(this).parents('li:first');
})
答案 2 :(得分:0)
$(".current").parents('ul').parents('li').find('a')
答案 3 :(得分:0)
试试这个
$(this).parent().closest("li").addClass('current');