コンテンツが動的に追加されるページを印刷したい。私はこのようにしようとします:
$("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();
})
})
クリックするたびに、div
withクラスのコンテンツcontainer
が複製されます。いくつかのsとテーブルをcontainer
保持します。div
クローンでは、クラスで要素を見つけてblock
、大文字の「X」に置き換えようとします。block
一部のに動的に追加されるクラスですtd
。
次に、新しいウィンドウを開き、そこにクローンのhtmlコンテンツを配置します。それから私はそれを印刷します。
これまでのところ、とても良いですが、置き換えは機能していません-なぜですか?私も試しましたがdocument.write
、そこに「X」を入れましたが、効果はありませんでしたhtml()
。text()
私はいつも白いページになってしまうので、クローンにも何か問題があるのかもしれません。