我得到了一个列表:
<li>
<a data-id="..." data-name="..." data-vname="..." style="font-weight: 400; padding: 5px 15px; cursor: pointer;">
<span class="badge badge-primary pull-right"><?php echo $count;?></span><i class="fa fa-fw fa-server push-5-r"></i> ...
</a>
</li>
现在我想为<a>
元素执行一个单击函数,它使li类活动,当我单击另一个对象从第一个删除它时。我的第一次尝试:
$( "a" ).click(function() {
$( this ).prev().addClass('active');
});
如何在此之前选择<li>
()?
提前致谢。
答案 0 :(得分:4)
.prev()方法用于获取上一个兄弟元素,在这种情况下,li
是祖先元素。
要获得直接父级(如您的情况),您可以使用.parent(),但如果您在某些级别的父级之后,则可以使用.closest()
$( "a" ).click(function() {
$( this ).parent().addClass('active');
//or $( this ).closest('li').addClass('active');
});
答案 1 :(得分:2)
或者你甚至可以做到
$( "a" ).click(function() {
$(this).closest('li').addClass('active');
});
将其从所有其他li
中删除,并将其添加到当前a
的{{1}},您只需再写一行
li