打印动态内容 - 替换克隆

时间:2012-07-28 15:14:52

标签: jquery printing

我想打印一个动态添加内容的页面。我试着这样做:

$("body").on("click", function() {

    function preparePrint() {
        var print_window = window.open();
        var print_document = $("div.container").clone();

        print_document.find('.block').each(replaceWith("X"));

        print_window.document.open();
        print_window.document.write(print_document.html());
        print_window.document.close();
        print_window.print();
        print_window.close();
    }

    $("#print").click(function() {
        preparePrint();
    })
})

每次点击,都会克隆divcontainer的内容。 container包含一些div和表。在克隆中,我尝试使用类block查找元素,并用大写的“X”替换它们。 block是动态添加到某些td的类。

然后,我打开一个新窗口并将克隆的html内容放在那里。然后我打印出来。

到目前为止,这么好,但更换不起作用 - 为什么?我还尝试document.writehtml()text()来获取“X”,但没有效果。我总是以白页结束,所以也许克隆也有问题。

1 个答案:

答案 0 :(得分:1)

print_document.find('.block').each(function(){ $(this).replaceWith("X") });