Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 打印带有已单击div的HTML页面并隐藏其余部分_Javascript_Html_Printing - Fatal编程技术网

Javascript 打印带有已单击div的HTML页面并隐藏其余部分

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页面,里面有很多不同的DIV,我想打印出用户点击的DIV,并隐藏其余的DIV

有人能告诉我如何在Javascript中实现这一点吗

<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”)
更合适一些(以防结构发生变化)。