javascript怎么显示css隐藏的元素

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd"><... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Workshop 5 – Challenge 1</title>
<style type="text/css">
p.hidden {display:none;}
</style>

<script type="text/javascript">
function ToggleEmail() {
// How do I change display from none to "inline"?

document.getElementById("show").style.display = "block";

}
</script>

</head>
<body>

<h1>Workshop 5 - Challenge 1</h1>
<form action="">
<fieldset>
<legend>Email subscriptions</legend>
<p id="p_Subscribe">
<label>
<input type="checkbox" name="Subscribe" id="cbSubscribe" onclick="ToggleEmail()">
Yes! I would like to receive the newsletter via email.
</label>
</p>
<div id="show" style="display:none">
<p id="p_Email" class="hidden">
<label>
Email Address:
<input type="text" name="Email" id="tbEmail">
</label>
</p>
</div>
</form>
</body>
</html>
想在选择checkbox后把email address 和 textbox 显示出来,请各位高手帮帮忙
展开
 我来答
百度网友2571d37bb
推荐于2018-03-15 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部

思路:

  1. css隐藏的元素大部分都是display:none的元素。

  2. 用js获取响应的元素,然后修改style属性即可

例子:

<table>  
<tr id="menu" >  
    <td>控制这个tr的显示/隐藏</td>   
</tr>  
</table>

<script type="text/javascript">  
    function display(id){   
    var traget=document.getElementById(id);   
        if(traget.style.display=="none")  
            { traget.style.display="";  
        }else{ 
            traget.style.display="none";   
        }   
    }  
</script>
辰宜科技
2018-03-15 · TA获得超过249个赞
知道小有建树答主
回答量:154
采纳率:85%
帮助的人:15.2万
展开全部
用JavaScript隐藏控件的方法有两种,分别是通过设置控件的style的“display”和“visibility”属性。
当style.display="block"或style.visibility="visible"时控件或见,当style.display="none"或style.visibility="hidden"时控件不可见。不同的是“display”不但隐藏控件,而且被隐藏的控件不再占用显示时占用的位置,而“visibility”隐藏的控件仅仅是将控件设置成不可见了,控件仍然占俱原来的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杰伴娜就好
2018-03-15 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:109
采纳率:100%
帮助的人:11万
展开全部
你最外层的#show给了display:none,然后p.hidden又给了display:none
但是你js哪里只写了一个显示,还有另一个隐藏的没有显示,所以就不会显示了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
endymion_c
推荐于2017-09-10 · TA获得超过2067个赞
知道小有建树答主
回答量:968
采纳率:0%
帮助的人:945万
展开全部
你多写了一个css,.hidden这个类不必要,因为它们的父容器div已经被display:none了。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Workshop 5 – Challenge 1</title>

<script type="text/javascript">
function ToggleEmail() {
// How do I change display from none to "inline"?
if(document.getElementById("cbSubscribe").checked)
document.getElementById("show").style.display = "block";
else
document.getElementById("show").style.display = "none";
}
</script>

</head>
<body>

<h1>Workshop 5 - Challenge 1</h1>
<form action="">
<fieldset>
<legend>Email subscriptions</legend>
<p id="p_Subscribe">
<label>
<input type="checkbox" name="Subscribe" id="cbSubscribe" onclick="ToggleEmail()">
Yes! I would like to receive the newsletter via email.
</label>
</p>
<div id="show" style="display:none">
<p id="p_Email" class="hidden">
<label>
Email Address:
<input type="text" name="Email" id="tbEmail" onclick="ToggleEmail()">
</label>
</p>
</div>
</form>
</body>
</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnwhm
2011-08-29 · 超过26用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:21万
展开全部
我给你修改了一下, 先把<p id="p_Email" class="hidden">
改成<p id="p_Email" >
然后你的脚本我给你完善了一下,选中的时候显示,不选中的时候让它再隐藏回去。 你的脚本只让他显示了 ,但是如果我取消选中的话那个层还是显示的,所以给你把脚本改了一下:
<script type="text/javascript">
function ToggleEmail() {
// How do I change display from none to "inline"?
cb = document.getElementById("cbSubscribe");
if (cb.checked) {
document.getElementById("show").style.display = "block";
}
else
document.getElementById("show").style.display = "none";
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式