gpt4 book ai didi

javascript - 打印特定 div 时出错

转载 作者:行者123 更新时间:2023-12-03 08:53:40 25 4
gpt4 key购买 nike

我正在尝试打印指定的 div 或表格,并且它在测试文件中工作正常。但是当我在原始页面中编写确切的代码片段时,它说 document.getElementById('printable') 返回 null ..我知道这意味着什么......它没有找到我的元素的 id。然后我搜索并写 $(document).ready();然后那个错误就停止了。但由于这个原因,整个页面都会被打印(而不是指定的页面)。我还尝试在“可打印”div 之后编写脚本,但随后它给出了相同的空错误。任何人都可以帮助我吗?我们将不胜感激。请尝试给出如下语法的答案,我的意思是不要更改整个代码,只需告诉我我缺少什么。谢谢我只是想知道为什么它说 null 即使我在可打印 div 之后编写脚本并且如果我添加就绪函数为什么它会打印整个页面?

<head>
<script>

function print(){

var org=document.body.innerHTML;
var spc=document.getElementById("printable").innerHTML;
document.body.innerHTML= spc;
window.print();
document.body.innerHTML= org;


}


</script>
</head>
<body>
<table id="printable">
<tr>Only this should be printed</tr>
</table>

<div id="print-btn">
<button onclick="print()">Print</button>
</div>

</body>

最佳答案

更好的方法可能是使用 CSS 媒体选择器来删除您不想打印的内容。例如:

<head>
<style>
@media print {
#print-btn {
visibility: hidden;
}
}
</style>
</head>
<body>
<table id="printable">
<tr><td>Only this should be printed</td></tr>
</table>
<div id="print-btn">
<button onclick="javascript:window.print()">Print</button>
</div>

</body>

然后您就可以打印页面了。

此外,从您的示例来看,您似乎正在用自己的函数重新定义 window.print 函数。澄清一下,

function print() {
...

相当于

window.print = function() {
...

关于javascript - 打印特定 div 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com