2

ループ内で、$.each()なぜ失敗するのか理解できない特定のケースが 1 つあります。

このようなことを言うifステートメントを実行すると(私の特定の例、実際の属性名のみ)

if(($(this).attr("some-attribute")))

属性が存在するかどうかにかかわらず、常に false を返します。

しかし、最初にこの要素の ID を取得してから、「this」キーワードなしで属性を確認すると、問題なく動作します。

var id = $(this).attr("id");
if(($("#"+id).attr("some-attribute")))

これは正常に機能し、正しい値を返します。

4

1 に答える 1

6

$(this)DOM をクエリしません。javascript DOM 要素を jQuery オブジェクトでラップするだけです。

$('#id')DOM を照会します。

ここで私の答えを読むことをお勧めします

于 2012-10-16T01:20:57.667 に答える