是否可以使用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>");
我看到页面上的更改,当我只想在内存中复制它们时。基于jQuery文档,我认为filter()
会创建一个新对象,而不会将更改反映回网页。
由于
答案 0 :(得分:0)
您应该使用.clone()来制作副本。然后,您可以在插回文档之前修改它们(或者不是在您的情况下)。
答案 1 :(得分:0)
看一下clone()jQuery函数。 https://api.jquery.com/clone/
答案 2 :(得分:0)
您可以使用.clone()方法:https://api.jquery.com/clone/
如文件中所述:
注意:使用.clone()方法时,可以修改克隆 元素或其内容在(重新)插入之前 文档。
只需使用以下语法:$clonedElement = $(selector).clone( true )