2017-03-06 113 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

這對我有用。謝謝! –