JavaScript代码window.print()可以打印当前的HTML页面.
如果我在HTML页面中有一个div(例如,从ASP.NET MVC视图呈现的页面),那么我只想打印div.
是否有任何jQuery 不引人注目的JavaScript或普通的JavaScript代码来实现此请求?
更清楚地说,假设呈现的HTML页面如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head" runat="server">
<title>
<asp:ContentPlaceHolder runat="server" ID="TitleContent" />
</title>
</head>
<body>
<div id="div1" class="div1">....</div>
<div id="div2" class="div2">....</div>
<div id="div3" class="div3">....</div>
<div id="div4" class="div4">....</div>
<div id="div4" class="div4">....</div>
<p>
<input id="btnSubmit" type="submit" value="Print" onclick="divPrint();" />
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
然后我想点击打印按钮,只打印div3.
我想使用jQuery打印div的内容.这个问题已经在SO中提出,但我找不到正确的(有效的)答案.
这是我的HTML:
<div id='printarea'>
<p>This is a sample text for printing purpose.</p>
<input type='button' id='btn' value='Print'>
</div>
<p>Do not print.</p>
Run Code Online (Sandbox Code Playgroud)
在这里,我想打印div的内容printarea.
我试过这个:
$("#btn").click(function () {
$("#printarea").print();
});
Run Code Online (Sandbox Code Playgroud)
但是单击按钮时会出现控制台错误:
未捕获的TypeError:$(...).print不是函数
但是当我尝试使用打印整个页面时
window.print();
Run Code Online (Sandbox Code Playgroud)
这是工作.但我只想打印特定div的内容.我$("#printarea").print();在许多地方看到了答案,但这不起作用.