2011-01-31 92 views
3

這裏是我的代碼:寫的JavaScript渲染HTML頁面

<html> 
<head> 
<script type="text/javascript"> 
function displaymessage() 
{ 
win=window.open(); 
win.document.write("<html>"); 
win.document.write("<head>"); 
win.document.write("<style type=\"text/css\">"); 
win.document.write(".vis{visibility:hidden;}"); 
win.document.write("</style>"); 
win.document.write("</head>"); 
win.document.write("<body>"); 
win.document.write("<table align=\"center\">"); 
win.document.write("<tr><td>result:</td><td>100,--€</td></tr>"); 
win.document.write("<tr><td colspan=\"2\" id=\"idcko\"><input type=\"button\" value=\"click\" onclick=\"window.print();vlozenie()\"/></td></tr>"); 
win.document.write("</table>"); 
win.document.write("</body>"); 
win.document.write("</html>"); 
} 
</script> 
</head> 
<body> 
<form> 
<input type="button" value="Click me!" onclick="displaymessage();" /> 
</form> 
<script type="text/javascript"> 
function vlozenie() 
{ 
var y = win.document.getElementById("idcko"); 
y.innerHTML="<input type=\"button\" value=\"click2\" class=\"vis\"/>"; 
} 
</script> 
</body> 
</html> 

現在我想打印所呈現的頁面,但我想隱藏的打印按鈕。那麼是否可以在「onclick」事件中編寫一些JavaScript函數,或者我可以訪問位於母版上的JavaScript函數? 我發現了一些例子來添加「類」屬性的HTML元素:

$("#idcko").addClass("vis"); 

但它在JavaScript代碼,這是我不能老是這樣寫寫入:

win.document.write("<script type=\"text/javascript\">some functions()</script>"); 

因爲渲染頁面現在不正確。

回答

1

,你可以在你的CSS樣式@media print添加,然後隱藏包含使用display:none

@media print { 
    selectorForPrinterIcon { display:none } 
    } 

當然你也可以按照相同的方式來隱藏你想隱藏任何其他元素的打印機圖標元素在印刷版中。所以,不需要JavaScript。

0

你只是需要調用jQuery的$( 「#PrintButtonId」)。隱藏()

希望這有助於。

+0

他把他的整個HTML頁面放在問題中。你看到jQuery鏈接到任何地方? – 2011-01-31 11:13:17