16

.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ループなしでこれを達成するにはどうすればよいですか?

4

1 に答える 1

27

jqueryparentsUntil()関数を使用できます

$(".distant-child").parentsUntil(".ancestor-to-stop-at").css("height","100%");
于 2012-10-18T17:54:08.920 に答える