jquery-如何正确地将数据从div动态复制到新窗口

jquery-如何正确地将数据从div动态复制到新窗口,jquery,printing,Jquery,Printing,我有个问题。我正在尝试创建一个非常简单的打印预览,当用户单击打印预览按钮时,它将打开一个新窗口并复制我想要的数据。有一些像复选框这样的元素我不想包括在内,但我能够成功地做到这一点。我的问题是,当加载新窗口时,原始div也会被更改。与此类似,复选框在原始div中被删除,并且Print按钮也会出现 我希望我的原始div是divData保持不变。我对新窗口没有问题 顺便说一句,我的jquery代码如下: $("#btnPrintPreview").click (function ()

我有个问题。我正在尝试创建一个非常简单的打印预览,当用户单击
打印预览
按钮时,它将打开一个新窗口并复制我想要的数据。有一些像复选框这样的元素我不想包括在内,但我能够成功地做到这一点。我的问题是,当加载新窗口时,原始div也会被更改。与此类似,复选框在原始div中被删除,并且
Print
按钮也会出现

我希望我的原始div是
divData
保持不变。我对新窗口没有问题

顺便说一句,我的jquery代码如下:

        $("#btnPrintPreview").click (function () {
            var printContents = new $("#divData");
            var myWindow = window.open("", "popup","width=1000,height=600,scrollbars=yes,resizable=yes," +  
                "toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0");
            var doc = myWindow.document;
            doc.open();
            $(printContents).find(".tCheckboxes").remove();
            var button = "<input type='button' id='btnPrint' value='Print' style='float: right;' onclick='window.print();'/>";
            $(printContents).append($(button));
            doc.write($(printContents).html());
            doc.close();
        });
$(“#btnPrintPreview”)。单击(函数(){
var printContents=new$(“#divData”);
var myWindow=window.open(“,”弹出窗口“,”宽度=1000,高度=600,滚动条=yes,可调整大小=yes,“+
“工具栏=否,目录=否,位置=否,菜单栏=否,状态=否,左侧=0,顶部=0”);
var doc=myWindow.document;
doc.open();
$(打印内容)。查找(“.tcheckboxs”).remove();
var按钮=”;
$(打印内容)。追加($(按钮));
doc.write($(printContents.html());
doc.close();
});
要查看我的演示,请点击链接

PS:请在单击打印预览后检查主div


请帮助我……

为此,请将以下行更改为:

// Before:
var printContents = new $("#divData");
// After:
var printContents = $("#divData").clone();

请参阅以获取更多参考。

@EricTung如果我想将css添加到此。。。我希望对
printContents
使用不同的css,对原始
#divData
@aks使用实际css,返回类型.clone()是从jQuery中选择的对象实例。如果您创建了一组有范围的样式(例如:“.print style div{some:css;}.print style p{more:css;}”),您只需向新实体添加一个类,例如:printContents.addClass(“print style”);