Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打印时如何实现引导<;部门>;包含另一个隐藏的<;部门>;使用javascript_Javascript_Html_Css - Fatal编程技术网

打印时如何实现引导<;部门>;包含另一个隐藏的<;部门>;使用javascript

打印时如何实现引导<;部门>;包含另一个隐藏的<;部门>;使用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

正如我在标题中提到的,当我想用javaScript打印包含另一个隐藏div的div>时,我遇到了一个问题,引导样式消失了

在按下打印按钮之前

在按下打印按钮之后


函数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';