0

コンテンツが動的に追加されるページを印刷したい。私はこのようにしようとします:

$("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();
    })
})

クリックするたびに、divwithクラスのコンテンツcontainerが複製されます。いくつかのsとテーブルをcontainer保持します。divクローンでは、クラスで要素を見つけてblock、大文字の「X」に置き換えようとします。block一部のに動的に追加されるクラスですtd

次に、新しいウィンドウを開き、そこにクローンのhtmlコンテンツを配置します。それから私はそれを印刷します。

これまでのところ、とても良いですが、置き換えは機能していません-なぜですか?私も試しましたがdocument.write、そこに「X」を入れましたが、効果はありませんでしたhtml()text()私はいつも白いページになってしまうので、クローンにも何か問題があるのか​​もしれません。

4

1 に答える 1

1
print_document.find('.block').each(function(){ $(this).replaceWith("X") });
于 2012-07-28T21:07:54.147 に答える