如何使用jQuery检索仅在内存中修改的DOM副本

如何使用jQuery检索仅在内存中修改的DOM副本,jquery,html,dom,Jquery,Html,Dom,是否可以使用jQuery将DOM的特定部分作为jQuery对象抓取到变量中,然后在不影响DOM本身的情况下对其执行一些操作。当我说我不想影响DOM时,我不希望更改对用户可见,但不能简单地通过CSS隐藏 情况如下。我想获取一个特定div的内容,对其进行一些更改,将内容放在另一个标记中,然后通过ajax将其发回服务器以生成一个PDF文档 现在我正在通过以下途径获取我需要的div: var mainDiv = $(sourceSelector + " div").filter(function (in

是否可以使用jQuery将DOM的特定部分作为jQuery对象抓取到变量中,然后在不影响DOM本身的情况下对其执行一些操作。当我说我不想影响DOM时,我不希望更改对用户可见,但不能简单地通过CSS隐藏

情况如下。我想获取一个特定div的内容,对其进行一些更改,将内容放在另一个标记中,然后通过ajax将其发回服务器以生成一个PDF文档

现在我正在通过以下途径获取我需要的div:

var mainDiv = $(sourceSelector + " div").filter(function (index, element) {
if ($(this).hasClass("ABC_Page") && $(this).is(":visible")) return true;
});
问题是,如果我这样做:

$mainDiv.find("#MyOtherDiv").append("<span>New content</span>");
$mainDiv.find(#MyOtherDiv”).append(“新内容”);
我在页面上看到更改,而我只希望它们出现在内存副本中。基于jQuery文档,我认为
filter()
将创建一个新对象,而不会将更改反映回网页

谢谢

您应该使用.clone()进行复制。然后,您可以在插入回文档之前修改它们(在您的情况下也可以不修改)

看看clone()jQuery函数。

您可以使用.clone()方法:

如文件所述:

注意:使用.clone()方法时,可以修改克隆的 将元素或其内容(重新)插入到 文件


只需使用以下语法:
$clonedElement=$(选择器).clone(true)

您可以执行以下操作吗
$mainDiv=$mainDiv.clone()?这应该会在内存中创建一个可以编辑的深度副本。这不是100%的,但可能值得一试。参考资料:。。。