我将首先解释我想要做的事情:
但是,一旦我将一个表复制到另一个表,它就会删除父表中的行。 请参阅我已完成的以下代码:
$('#anchorPrint').click(function ()
{
//create a new table dynamically.
$("<table>", {id: "tblTransactionHistory_copy",'display':'none'}).appendTo("body");
$('#tblTransactionHistory_copy').append("<tbody></tbody>");
//copy the main table rows to dynamically created one.
var rows = $('#tblTransactionHistory > tbody > tr');
$("#tblTransactionHistory_copy > tbody").append(rows);
var divToPrint=document.getElementById("tblTransactionHistory_copy");
newWin= window.open("");
newWin.document.write(divToPrint.outerHTML);
newWin.print();
newWin.close();
return false;
});
答案 0 :(得分:1)
不要让任务过于复杂,请改用.clone()
。
$('#anchorPrint').click(function(){
var tblCopy = $("body").append($('#tblTransactionHistory').clone().attr("id","tblTransactionHistory_copy"));
var divToPrint = tblCopy.get(0);
var newWin= window.open("");
newWin.document.write(divToPrint.outerHTML);
newWin.print();
newWin.close();
return false;
});
您的代码无效的原因是,如果您将document
中的任何现有元素作为selector
或element
传递,则会将其从原始位置移出并将附加到目标元素。