0

私は理解できない問題を抱えています。div をフェードアウトしてから削除しようとしていますが、上記のエラー メッセージが引き続き表示されることを除いて、すべて正常に動作しています。関数は次のとおりです。

$(field).siblings('.error').fadeOut(200, function(){
   $(this).remove(); 
});

あなたが考えるのはかなり簡単です。console.logfieldを実行すると正しい要素が取得$(this)され、その関数内で console.log を実行すると正しい要素も取得されます。div は正しくフェードアウトしますが、何らかの理由で$(this).remove()それを殺しています。ここに両方の​​要素があります:

field:

[input.user-name largeinput group-one, context: input.user-name largeinput group-one, jquery: "1.10.1", constructor: function, init: function, selector: ""…]

$(this):

[div.error, context: div.error, jquery: "1.10.1", constructor: function, init: function, selector: ""…]

オブジェクト自体を調べて、それが正しい div であることを確認しました。では、なぜこのエラーがスローされるのでしょうか。ぼかしから直接呼び出していたときは機能していましたが、関数に移動して 経由validateField(field)で呼び出すと、めちゃくちゃになります。

明らかにそれが問題ですが、その理由や修正方法がわかりません。コミュニティからのアドバイスはありますか?

4

1 に答える 1