Как получить всех родителей до достижения определенного родителя

Мне нужно что-то между функциональностью .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

Вы можете использовать функцию jquery parentsUntil()

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