问题描述
如果我们有一个这样的示例结构:
If we have an example structure like this:
HTML
<div id="foo">hello foo</div>
JS
var $foo = $('#foo');
,我们需要使用jQuery的<$ c替换给定的jQuery / node引用的整个HTML标记$ c> .replaceWith 方法,维护的最佳做法是什么分别获得新的节点引用?
and we need to replace the entire HTML markup for that given jQuery/node reference using jQuery's .replaceWith
method, what is the best practice to maintain respectively get a new node reference ?
问题, .replaceWith
返回对旧的 jQuery对象的引用(这听起来或多或少对我不合理)。从文档中:
The problem, .replaceWith
returns the reference to the old jQuery object (which sounds more or less unreasonable to me). From the docs:
如果我像
$foo = $foo.replaceWith('<div>new content</div>');
我想让这个新节点在同一个变量中引用/缓存。是的,您可以重新查询新插入的DOM节点,但在我看来,这似乎非常笨重。
I'd like to have that new node referenced/cached in that same variable. Yes you could re-query that newly inserted DOM node, but that seems very clunky in my mind.
有没有什么棘手的方法来实现,而不需要重新查询DOM?
示例:
推荐答案
使用功能:
$foo = $('<div>new content</div>').replaceAll($foo);
这篇关于如何使用replaceWith维护一个jQuery参考的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!