如何让所有父母到达某个父母

时间:2012-10-18 17:52:42

标签: jquery traversal jquery-traversing

我需要介于.closest().parents()功能之间的内容。我将一些CSS应用于某个元素的所有父母,直到某个父母。现在我while循环播放,但似乎有更好的方法可以做到这一点。

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循环,我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:24)

您可以使用jquery parentsUntil()函数

$(".distant-child").parentsUntil(".ancestor-to-stop-at").css("height","100%");