选择父元素及其所有同级元素。

5

我想选择一个元素的父级和它的兄弟节点。然而,选择.parent().siblings()不包括原始元素的父级。

$(this).parent().siblings().removeClass("active"); 

如何选择父节点的兄弟节点以及父节点本身?

你想要从父元素和它的兄弟元素中移除类吗? - Tushar
1个回答

7
使用jQuery的addBack()方法:
$(this).parent().siblings().addBack().removeClass("active");

这将选择一个元素的兄弟元素以及它自己,以便您可以删除类。

如果您使用的是 jQuery 版本低于 1.8,请改用 andSelf()

更新:我已添加下面的示例,以显示此方法的确切作用。

$('.active a').click(function(){
  $(this).parent().siblings().addBack().removeClass("active");
});
.active {background: yellow}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="active">I'm active. <a href="#">Remove all active</a></div>
<div class="active">I'm active. <a href="#">Remove all active</a></div>
<div class="active">I'm active. <a href="#">Remove all active</a></div>
<div class="active">I'm active. <a href="#">Remove all active</a></div>
<div class="active">I'm active. <a href="#">Remove all active</a></div>


"andSelf"已被弃用。 - Barmar
这不是选择父元素的兄弟和原始元素吗?我想要选择父元素的兄弟和原始元素的父元素。 - ink
它选择了原始项目的父级及其同级。我在我的答案中添加了一个示例。 - Wes Foster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接