私は現在、jQuery .add() メソッドを使用して DOM に要素を追加し、すぐにそれにアクセスしようとする JavaScript 関数を持っています (この場合、クラスを追加し、少し待ってから再度削除します)。
elem = "<p id="new">added element</p>"
jQuery("body").add(elem)
jQuery("#new").addClass("red")
setTimeout(function(){
jQuery(".new").removeClass("red")
},1000)
問題は、jQuery セレクターが .new 要素を見つけられないことです。同様の問題に対して私が見つけたすべての解決策には、要素が読み込まれた後にクリック/マウスイベントを要素にバインドすることが含まれますが、これはこの場合探しているものではありません。jQuery.add() の代替案も調べましたが、同じ問題が発生する jQuery.append() しか思いつきませんでした。
関連性がある場合、このコード スニペットが含まれる関数は、jQuery(document).ready() 関数の外にあります。
tl;dr バージョン:
jQuery.add() を使用して要素を追加した直後に要素を操作 (例: クラスを追加) するにはどうすればよいですか?