Javascript 第一次查看输出时未能隐藏文本 函数隐藏(which){ 如果(!document.getElementById) 返回 if(哪个.style.display==“块”) which.style.display=“无” 其他的 which.style.display=“block” } 信用卡 检查
程序的输出必须是: 当我们选中复选框时,它应该显示文本,当复选框未选中时,它应该隐藏文本。 在这种情况下,当我们第一次打开输出时,文本显示时没有选中复选框。Javascript 第一次查看输出时未能隐藏文本 函数隐藏(which){ 如果(!document.getElementById) 返回 if(哪个.style.display==“块”) which.style.display=“无” 其他的 which.style.display=“block” } 信用卡 检查,javascript,html,css,Javascript,Html,Css,程序的输出必须是: 当我们选中复选框时,它应该显示文本,当复选框未选中时,它应该隐藏文本。 在这种情况下,当我们第一次打开输出时,文本显示时没有选中复选框。 有人能解释一下为什么会这样吗?首先,您的标记是无效的。具体而言,这: <html> <head> <script type="text/javascript"> function hideshow(which){ if (!document.ge
有人能解释一下为什么会这样吗?首先,您的标记是无效的。具体而言,这:
<html>
<head>
<script type="text/javascript">
function hideshow(which){
if (!document.getElementById)
return
if (which.style.display=="block")
which.style.display="none"
else
which.style.display="block"
}
</script>
</head>
<body>
credit card
<a href="javascript:hideshow(document.getElementById('adiv123'))">
<input type="checkbox" />
</a>
<div id="adiv123" style="font:24px normal; style=display:block;">
check
<input type="text" name="check" class="styled"/>
</div>
</body>
</html>
这是错误的。我想你的意思是:
style="font:24px normal; style=display:block;"
如果您希望在页面加载时隐藏元素,那么实际上您希望:
style="font:24px normal; display:block;"
首先,您的标记是无效的。具体而言,这:
<html>
<head>
<script type="text/javascript">
function hideshow(which){
if (!document.getElementById)
return
if (which.style.display=="block")
which.style.display="none"
else
which.style.display="block"
}
</script>
</head>
<body>
credit card
<a href="javascript:hideshow(document.getElementById('adiv123'))">
<input type="checkbox" />
</a>
<div id="adiv123" style="font:24px normal; style=display:block;">
check
<input type="text" name="check" class="styled"/>
</div>
</body>
</html>
这是错误的。我想你的意思是:
style="font:24px normal; style=display:block;"
如果您希望在页面加载时隐藏元素,那么实际上您希望:
style="font:24px normal; display:block;"
请看这里:
代码
style="font:24px normal; display:none;"
或者,根据您的代码:
我改变了这一点:
document.getElementById("adiv123").style.display = "none";
document.getElementById("showHide").onchange = function(){
if(this.checked)
document.getElementById("adiv123").style.display = "block";
else
document.getElementById("adiv123").style.display = "none";
}
对此
<div id="adiv123" style="font:24px normal; style=display:block;">
看看这里:
代码
style="font:24px normal; display:none;"
或者,根据您的代码:
我改变了这一点:
document.getElementById("adiv123").style.display = "none";
document.getElementById("showHide").onchange = function(){
if(this.checked)
document.getElementById("adiv123").style.display = "block";
else
document.getElementById("adiv123").style.display = "none";
}
对此
<div id="adiv123" style="font:24px normal; style=display:block;">
之所以会发生这种情况,是因为在单击复选框之前(为什么要将其包装成链接?),您不会运行
隐藏
功能。因此,在页面加载之后,无论复选框元素的状态如何,都会始终显示相邻的div
无论如何,如果您不支持IE8和以前的版本,那么您只能通过css实现相同的行为。例如
html
之所以会出现这种情况,是因为在单击复选框(为什么要将其包装成链接)之前,您不会运行
hideshow
功能。因此,在页面加载之后,无论复选框元素的状态如何,都会始终显示相邻的div
无论如何,如果您不支持IE8和以前的版本,那么您只能通过css实现相同的行为。例如
html