Jquery 如何获取所有父级,直到到达某个父级

Jquery 如何获取所有父级,直到到达某个父级,jquery,traversal,jquery-traversing,Jquery,Traversal,Jquery Traversing,我需要一些介于.closest()和.parents()之间的功能。我将一些CSS应用于某个元素的所有父元素,直到某个父元素。现在我正在循环,但似乎有更好的方法 var goUp = $(".distant-child"); while(!goUp.hasClass("ancestor-to-stop-at")){ goUp.css("height","100%"); goUp = goUp.parent(); } 我宁愿做这样的事情: $(".distant-child").

我需要一些介于
.closest()
.parents()
之间的功能。我将一些CSS应用于某个元素的所有父元素,直到某个父元素。现在我正在
循环,但似乎有更好的方法

var goUp = $(".distant-child");
while(!goUp.hasClass("ancestor-to-stop-at")){
    goUp.css("height","100%");
    goUp = goUp.parent();
}
我宁愿做这样的事情:

$(".distant-child").closest(".ancestor-to-stop-at").css("height","100%"); //won't work because .closest() only returns the top ancestor
$(".distant-child").parents(".ancestor-to-stop-at").css("height","100%"); //won't work because .parents() doesn't take this parameter and won't stop at the specified element.
如果没有
while
循环,如何实现这一点?

您可以使用jquery函数


你在找吗?把鞋子弄脏了…是的…当你直接使用JavaScript来搅乱CSS时,它通常被认为是一种代码味道(除非你在做动画)。这是不可避免的,因为我正在处理一些插件,这些插件已经做得太多了。我有一个完美的CSS专用解决方案,它被这些愚蠢的插件所做的大量竞争性的
style=”“
更改毁掉了。@brentonstrine:当你的“我是个白痴”评论获得的票数超过了答案本身时,那是一个尴尬的时刻。@MadaraUchiha:是的,但如果那些投票人和我一样,那么他们可能也有同样的票数“我是个白痴”的感觉;-)对答案投赞成票是显而易见的。对评论投赞成票是为了表示对评论的支持:)
$(".distant-child").parentsUntil(".ancestor-to-stop-at").css("height","100%");