DOM要素を切り離して別のDOM要素に追加しようとしています。しかし、jQueryは黙って何もすることを拒否します。
つまり、この要素を選択する方法がわからないため、文字列セレクターを使用できません。最初の親に(「appendTo」を介して)最初にいくつかのhtmlコードを追加したときに、それを変数に格納しました。
this.element = $(my_html_string).appendTo(some_dom_parent);
そして、それはうまくいきます。期待どおりに機能していないコードは次のとおりです。
this.transferTo = function(dom_parent)
{
$(this.element).detach()
$(this.element).appendTo(dom_parent);
}
何が起こるか:
- 要素はどこからでも削除されません。
- 要素は新しい親に追加されます。
- 以前は、バインドクリックイベントが両方の要素でトリガーされていました。
- そのクリックイベントは、要素にポップアップダイアログを追加します。どちらをクリックしても、常に新しい親の要素に追加されます。
次のようなハードコードされたデタッチを試しました。
$('#very_specific_id').detach()
...そしてそれは機能します。しかし、私はIDを配置していないので、これを行うには非常に悪い方法のように思えます。
したがって、問題は、他のすべての人のように$( "。query")を使用する代わりに、jQueryDOM要素を保存してそこから.detachを使用しようとしているという事実に依存しているようです。
アイデア?回避策?ありがとう!