0
var classFind= $('.frame').parent().parent().parent().parent().parent();
if (classfind.hasClass(".class")) {
            return true;
        }

このパスに従って配置されたクラスがあります^...コードを読みやすくしてこのプロセスを自動化するには、どうすればdomをループできますか? null に到達する前に .hasclass が見つからない場合は、単純に false を返します。

4

3 に答える 3

1

これに置き換えてみませんか...

return !!$('.frame').closest('.class').length;

メソッドはclosest、param として指定されたセレクターに一致する要素が見つかるまで DOM ツリーを上に移動し、すぐに停止します。そのような要素が見つからない場合、要素の空のコレクションを返します (これはまだオブジェクトであるため、その長さを確認する必要があります)。And!!は call と同じBoolean()です - 必須ではありませんが、関数がtrue/falseの代わりにブール値 ( ) を返すようにします0/1

于 2012-12-12T15:55:10.673 に答える
1

次のようなものを試すことができます: var classFind= $('.frame').closest(".class");

于 2012-12-12T15:55:47.663 に答える
0

最も近い関数では、必要な場合、正確に 5 つの親を取得することはできません...

このセレクターはこれを行います。

function findEl() {
    if($('.class > * > * > * > * > .frame').length > 0) {
        return true;
    }
    return false;
}

テスト: http://jsfiddle.net/S5juG/1/

子セレクターを見てみましょう: http://api.jquery.com/child-selector/

于 2012-12-12T16:10:54.427 に答える