Javascript 打印带有已单击div的HTML页面并隐藏其余部分
我有一个HTML页面,里面有很多不同的DIV,我想打印出用户点击的DIV,并隐藏其余的DIV 有人能告诉我如何在Javascript中实现这一点吗Javascript 打印带有已单击div的HTML页面并隐藏其余部分,javascript,html,printing,Javascript,Html,Printing,我有一个HTML页面,里面有很多不同的DIV,我想打印出用户点击的DIV,并隐藏其余的DIV 有人能告诉我如何在Javascript中实现这一点吗 <html> <head> <title>Print Demo</title> <script type="text/javascript"> <!-- MY JAVASCRIPT FUNCITON --> </script&g
<html>
<head>
<title>Print Demo</title>
<script type="text/javascript">
<!-- MY JAVASCRIPT FUNCITON -->
</script>
</head>
<body>
<div id="div1">
<a href="<JSMethod>">Print the page with this div</a>
</div>
<div id="div2">
<a href="<JSMethod>">Print the page with this div</a>
</div>
<div id="div3">
<a href="<JSMethod>">Print the page with this div</a>
</div>
</body>
</html>
打印演示
隐藏元素意味着将其设置为样式。将属性显示为“无”
。显示意味着将div元素设置为“block”
结合getElementsByTagName
,您可以完成以下任务:
功能显示(elem){
//最初隐藏所有div
var allDivs=document.getElementsByTagName(“div”);
对于(var i=0;i
您可以像
那样绑定事件。元素(this
)随后被传递到show
顺便说一句,jQuery之类的库使这变得更加容易;您可能想检查一下(尽管如果唯一的用例是这样,我不建议包括它)。隐藏元素意味着将其设置为样式。将属性显示为“无”
。显示意味着将div元素设置为“block”
结合getElementsByTagName
,您可以完成以下任务:
功能显示(elem){
//最初隐藏所有div
var allDivs=document.getElementsByTagName(“div”);
对于(var i=0;i
您可以像
那样绑定事件。元素(this
)随后被传递到show
顺便说一句,jQuery之类的库使这变得更加容易;您可能想检查一下(尽管如果唯一的用例是这个,我不建议包括它)。您可以使用类似document.getElementById(id)的javascript函数来隐藏另外两个div
所以在你的函数中,你可以使用
function hide1() {
document.getElementById(div2).style.display = "none";
document.getElementById(div3).style.display = "none";
}
可以使用document.getElementById(id)等javascript函数隐藏其他两个div
所以在你的函数中,你可以使用
function hide1() {
document.getElementById(div2).style.display = "none";
document.getElementById(div3).style.display = "none";
}
这只是为了扩展
jQuery:
$("a").on("click", function(){
$("div").hide();
$(this).parent().show();
});
或者按照建议:
$("a").on("click", function(){
$("div").hide();
$(this).closest("div").show();
});
这只是为了扩展
jQuery:
$("a").on("click", function(){
$("div").hide();
$(this).parent().show();
});
或者按照建议:
$("a").on("click", function(){
$("div").hide();
$(this).closest("div").show();
});
很抱歉,js中只有window.print()用于打印,这意味着您只能打印整个窗口。如果您想让某些人能够打印您的文档,请使用CSS使其可打印。
例如,也许你想让你的导航消失以便打印,但是把你的页面标题、网站名称和页面URL留在那里(有时像firefox这样的浏览器如果太长就把它们剪掉)。有时,一些网站会取消浏览器控件,错误地让你没有打印按钮——这是一个在线购买网站。。。这以前发生过
<style type="text/css">
@media print {
.boxGreen {
padding:10px;
border-color:green;
border-style:dashed;
border-width:thin;
}
}
@media screen {
.boxGreen {
padding:10px;
border-color:green;
border-style:dashed;
border-width:thin;
}
}
</style>
很抱歉,js中只有window.print()用于打印,这意味着您只能打印整个窗口。如果您想让某些人能够打印您的文档,请使用CSS使其可打印。
例如,也许你想让你的导航消失以便打印,但是把你的页面标题、网站名称和页面URL留在那里(有时像firefox这样的浏览器如果太长就把它们剪掉)。有时,一些网站会取消浏览器控件,错误地让你没有打印按钮——这是一个在线购买网站。。。这以前发生过
<style type="text/css">
@media print {
.boxGreen {
padding:10px;
border-color:green;
border-style:dashed;
border-width:thin;
}
}
@media screen {
.boxGreen {
padding:10px;
border-color:green;
border-style:dashed;
border-width:thin;
}
}
</style>
我不知道你说的“页面”是什么意思——所有div都在同一页面上。你可能想隐藏除了点击的div之外的所有内容吗?是的,这正是我想要做的!我不知道你说的“页面”是什么意思——所有div都在同一页面上。你可能想隐藏除了点击的div之外的所有内容吗?是的,这正是我想要做的!我已经在使用jQuery了,你能给我一个在jQuery中如何做的提示吗?我已经在使用jQuery了,你能给我一个在jQuery中如何做的提示吗?+1,也许。最近的(“div”)
更合适一些(以防结构发生变化)。+1,也许。最近的(“div”)
更合适一些(以防结构发生变化)。