私は理解できない問題を抱えています。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)
で呼び出すと、めちゃくちゃになります。
明らかにそれが問題ですが、その理由や修正方法がわかりません。コミュニティからのアドバイスはありますか?