在JavaScript渲染的html页面上编写JavaScript

时间:2011-01-31 11:00:15

标签: javascript html css

这是我的代码:

    <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元素添加“class”属性的例子:

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

但它必须用JavaScript标记编写,我不能这样写:

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

因为呈现的页面现在不正确。

2 个答案:

答案 0 :(得分:1)

您可以添加css样式@media print,然后使用display:none隐藏包含打印机图标的元素

@media print {
    selectorForPrinterIcon { display:none }
  }

当然,您可以按照相同的方式隐藏您希望隐藏在打印版本中的任何其他元素。所以,不需要javascript。

答案 1 :(得分:0)

你只需要调用jquery $(“#PrintButtonId”)。hide()

希望这有帮助。