打印时如何实现引导<;部门>;包含另一个隐藏的<;部门>;使用javascript
正如我在标题中提到的,当我想用javaScript打印包含另一个隐藏div的div>时,我遇到了一个问题,引导样式消失了 在按下打印按钮之前 在按下打印按钮之后打印时如何实现引导<;部门>;包含另一个隐藏的<;部门>;使用javascript,javascript,html,css,Javascript,Html,Css,正如我在标题中提到的,当我想用javaScript打印包含另一个隐藏div的div>时,我遇到了一个问题,引导样式消失了 在按下打印按钮之前 在按下打印按钮之后 函数myPrint(){ var myPrintContent=document.getElementById('table'); var myPrintWindow=window.open(“”,“”,“”); myPrintWindow.document.write(myPrintContent.innerHTML); myP
函数myPrint(){
var myPrintContent=document.getElementById('table');
var myPrintWindow=window.open(“”,“”,“”);
myPrintWindow.document.write(myPrintContent.innerHTML);
myPrintWindow.document.getElementById('hidden_div').style.display='block';
myPrintWindow.document.close();
myPrintWindow.focus();
myPrintWindow.print();
返回false;
}
你好
#
化名文章
金都负责任
日期
定量
选择权
请从表中移出隐藏的\u div
<div id="table">
<div style="display: none;" id="hidden_div">
<h1>hi</h1>
</div>
<table class="table table-hover">
<thead class="table-primary">
......
你好
......
您至少可以在打开的窗口中写入正确的标记,然后提供指向CSS文件的链接(请注意,您需要输入完整的URL):
函数myPrint(){
var myPrintContent=document.getElementById('table');
var myPrintWindow=window.open(“”,“”,“”);
myPrintWindow.document.write(“”);
myPrintWindow.document.write(“”);
myPrintWindow.document.write(“”);
myPrintWindow.document.write(myPrintContent.innerHTML);
myPrintWindow.document.write(“”);
myPrintWindow.document.getElementById('hidden_div').style.display='block';
myPrintWindow.document.close();
myPrintWindow.focus();
myPrintWindow.print();
返回false;
}
诚然,这不是打印网页的最佳方式。正如@BenRondeau所提到的,使用@media print
(了解有关媒体查询的更多信息)定义专门用于打印的样式是合适的方法。是的,您当前的方法可能有效,但从长远来看,学会以正确的方式做事总是更有益的。对于引导数据表,您需要使用表行而不是“块”
这是我过去经历过的一个问题,它解决了这个问题
myPrintWindow.document.getElementById('hidden_div').style.display='table-row';
首先,只有少数有效元素可以是表
的子元素,而div
不是其中之一。然后,您所做的就是打开一个完全空的新窗口,然后将表写入该窗口。因为窗口只包含HTML,所以不会有任何样式,这不是很明显吗?您是否尝试过专门用于打印的样式表?ex-@media print{..
@ChanMT因为我有一个表单元素,我不想打印它。我需要删除div子元素吗?@BenRondeau不,我使用javascriptdisplay:table row是当你使引导表行出现时,你如何使它成为样式的。是的,这是可行的,但就像你看到的那样,我在引导4中使用@media print
myPrintWindow.document.getElementById('hidden_div').style.display='table-row';