次のような構造の例がある場合:
HTML
<div id="foo">hello foo</div>
JS
var $foo = $('#foo');
.replaceWith
そして、jQueryのメソッドを使用して、指定されたjQuery /ノード参照のHTMLマークアップ全体を置き換える必要があります。それぞれ、新しいノード参照を取得するためのベストプラクティスは何ですか?
問題は、古い.replaceWith
jQueryオブジェクトへの参照を返します(これは多かれ少なかれ不合理に聞こえます)。ドキュメントから:
ただし、元のjQueryオブジェクトが返されることに注意する必要があります。このオブジェクトは、DOMから削除された要素を参照し、置き換えられた新しい要素を参照しません。
私が好きなら
$foo = $foo.replaceWith('<div>new content</div>');
その新しいノードを同じ変数で参照/キャッシュしたいと思います。はい、新しく挿入されたDOMノードを再クエリすることはできますが、それは私の頭の中では非常に不格好なようです。
DOMを再クエリする必要なしにそれを達成するためのトリッキーな方法はありますか?
例: http: //jsfiddle.net/Lm7GZ/1/