2017-03-06 89 views
0

后我不是很好用JavaScript代码,所以如果有人能帮助我,这隐藏所有按钮打印的innerHTML

我想隐藏的所有元素“按钮”后,使用innerHTML我将不胜感激。我目前的代码如下,我不知道如何使它工作。

<script> 
function print() { 
    var content = document.getElementById('search_result').innerHTML; 
    new_page = window.open('about:blank'); 
    new_page.document.write(content); 
    new_page.window.print(); 
    new_page.window.close(); 
} 
</script> 
+0

有你的页面上没有任何'button'元素。提供完整的代码。 –

+1

根据您的使用情况,您还可以使用不同的CSS样式表来定位要打印的页面。用于打印机的CSS将具有'display:none;'用于'button'标签。额外的奖励不会与DOM节点相混淆,并且必须在您从子窗口返回后显示它们。看到[Smashing杂志文章](https://www.smashingmagazine.com/2015/01/designing-for-print-with-css/)和[Mozilla开发者网络的页面](https://developer.mozilla.org/en-US/docs/Web/CSS/@页面)。 –

回答

0
<script> 
    function print() { 
    var content = document.getElementById('search_result'); 
    setButtonsDisplay(content, 'none'); 
    new_page = window.open('about:blank'); 
    new_page.document.write(content.innerHTML); 
    setButtonsDisplay(content, ''); 
    new_page.window.print(); 
    new_page.window.close(); 
    } 

    function setButtonsDisplay (elm, prop) { 
    var btns = elm.getElementsByTagName('button'); 
    for (var i = 0; i < btns.length; i++) { 
     btns[i].style.display = prop; 
    } 
    } 
</script> 
+0

这对我有用。谢谢! –