Jquery 如何与某个类的父类一起选择当前元素?

Jquery 如何与某个类的父类一起选择当前元素?,jquery,jquery-selectors,Jquery,Jquery Selectors,我有这样的想法: body-viewport div-page.active div-panel div-page div-page div-page div-page.active //start here 问题: 如果从底部元素开始,在查询中是否有一种简单的方法来选择所有活动页面 这是可行的,但是 $('.div-page-active').closest('.body-viewport').find('.div-page-active

我有这样的想法:

body-viewport
   div-page.active
    div-panel
     div-page
     div-page
     div-page
     div-page.active //start here
问题: 如果从底部元素开始,在查询中是否有一种简单的方法来选择所有活动页面

这是可行的,但是

$('.div-page-active').closest('.body-viewport').find('.div-page-active').doSomething
谢谢你的帮助

试试看

$(this).siblings(".div-page-active").doSomething();
试一试

将堆栈上的上一组元素添加到当前集合

将堆栈上的上一组元素添加到当前集合


从底部元素开始,我假设您已在事件处理程序中收到该元素,因此我将调用此原始元素:

如果您希望所有其他.div-page.active元素位于最近的.body视口下的任意位置,我认为您的表达式几乎是最好的方式:

$(this).closest(".body-viewport").find(".div-page.active");
如果您只需要.div-page.active元素,而不是兄弟姐妹或堂兄弟姐妹,等等,那么您必须编写一个循环,jQuery没有与选择器X匹配的“查找所有祖先”并在选择器Y匹配时停止。例如:

在该示例中,当您单击最底部的.div-page.active时,它会将该.div-page.active向上打开两层,.body视口变为绿色。如下面粗体显示的匹配,不能使用颜色,请注意,我添加了一个不相关的.div-page.active和一个堂兄,以显示它们如何不包括在内:

body-viewport div-page active -- ancestor, should be included div-panel div-page div-page div-page div-page active -- click me div-page active -- cousin, should NOT be included body-viewport div-page active -- unrelated, should NOT be included
从底部元素开始,我假设您已在事件处理程序中收到该元素,因此我将调用此原始元素:

如果您希望所有其他.div-page.active元素位于最近的.body视口下的任意位置,我认为您的表达式几乎是最好的方式:

$(this).closest(".body-viewport").find(".div-page.active");
如果您只需要.div-page.active元素,而不是兄弟姐妹或堂兄弟姐妹,等等,那么您必须编写一个循环,jQuery没有与选择器X匹配的“查找所有祖先”并在选择器Y匹配时停止。例如:

在该示例中,当您单击最底部的.div-page.active时,它会将该.div-page.active向上打开两层,.body视口变为绿色。如下面粗体显示的匹配,不能使用颜色,请注意,我添加了一个不相关的.div-page.active和一个堂兄,以显示它们如何不包括在内:

body-viewport div-page active -- ancestor, should be included div-panel div-page div-page div-page div-page active -- click me div-page active -- cousin, should NOT be included body-viewport div-page active -- unrelated, should NOT be included
jQuery文档包含一些关于最近的和父级之间差异的重要信息。万一人们想知道你为什么选择最亲近的人而不是父母,你提出的方法有什么问题?你想避免什么?如果你必须反复输入,请将其包装在jquery插件中。jquery文档包含一些关于最接近的和父级之间差异的重要信息。万一人们想知道你为什么选择最亲近的人而不是父母,你提出的方法有什么问题?你想避免什么?如果您必须反复输入,请将其包装在jquery插件中。注意示例代码中的第二行。也可以有一个父类拥有该类。请注意示例代码中的第二行。可能有一个父类也有这个类。我不认为这些代码会完全满足OP的要求,但是andSelf很可能是解决方案的一部分。你是对的。我太高兴了,没有仔细阅读这个问题。这回答了标题,但不是实际问题。我喜欢这个!感谢您将我的指向andSelf,我现在可以将我的脚本踢出一大块垃圾。我不认为该代码会完全满足OP的要求,但andSelf可能是解决方案的一部分。您是对的。我太高兴了,没有仔细阅读这个问题。这回答了标题,但不是实际问题。我喜欢这个!谢谢你指点我和我自己,我可以踢出一个大垃圾我的脚本了。这很好,但代码沉重,为我的目的。一起来,因为我也喜欢这样做。谢谢这很好,但是为了我的目的,代码很重。一起来,因为我也喜欢这样做。谢谢