本文介绍了如何使用replaceWith维护一个jQuery参考的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我们有一个这样的示例结构:

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参考的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 16:47