如果我们有这样的示例结构:
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/