2012-02-21 19 views
0

dom要素の配列をループし、特定の条件に一致する場合にのみdom要素を返します。下記の場合、id属性が "0"の値と等しい場合、クラス名レコードを持つ子要素があります。 私は以下のコードを試しましたが、クラスレコードを持つ子を持たなくても常に要素0を返します。mapが正しい結果を返さない理由

+0

を使用してみてください? – elclanrs

答えて

0

$(element).children('.record')から$(element).children('.record').lengthに変更してください。

jQueryで要素が見つからない場合、空の配列が返され、JavaScriptはtrueに変換されます。

+0

ありがとう。ループが真の値に達するとループを停止するメソッドがありますか?マップ、フィルター、そしてそれぞれが、私が持っていた基準に合ったものを見つけたとしても、すべての要素を通過します。 – Chapsterj

+0

@Chapsterj: '.each'を使うことができます。値を返さないので、変数を見つけた値に設定する必要があります。あなたがコールバックから '.each'に' false;を返すと、ループを壊します。 –

+0

ありがとうございます。jqueryに要素を返すメソッドがありませんし、返す要素が見つかったらループを停止しますか? – Chapsterj

0

マップされた配列内のアイテムを必要としない場合は、nullを返すようにしてください。

0

はあなたのHMTLを投稿することができますjQueryの

$(element).filter(function(key, value){ 
    return $(value).children('.record').length>0; 
}); 
関連する問題