function setVisibility('sub1'){
var element = document.getElementById('bt1');
if( 'none' == element.style.display ){
element.style.display = 'block';
}else{
element.style.display = 'none';
}
return false;
}
好的,这就是我的javascript ..我有几个按钮(sub1,sub2,sub3和sub4)都显示不同的div(bt1,bt2,bt3和bt4)
<input id='bt1' type="image" src='button.png' alt="Submit" onclick="setVisibility('sub1');";>
这是按钮本身编码到我的html然后它显示的div是一个简单的div:
<div style="display: none;" id='sub1'>Text Goes Here</div>
但是当我点击按钮没有任何反应时,我很困惑我做错了什么,所以如果有人会如此善意地指出我的错误。感谢
编辑:删除额外的Html错误;没有工作,采取'远离sub使第4个按钮出现并消失
答案 0 :(得分:1)
这里的问题是你的函数中有一个无效的变量定义。它应该定义一个变量,而不是字符串,您可以使用该变量来定位相关元素。
function setVisibility(subId){
var element = document.getElementById(subId);
...
您的HTML中也存在语法错误,正如您在帖子的评论中指出的那样,即:
<input id='bt1' type="image" src='button.png' alt="Submit" onclick="setVisibility('sub1');";>
在;
之前的末尾有一个额外的>
。为了顺从,像这样的自闭元素在技术上也应以/
结尾。例如:
<input id='bt1' type="image" src='button.png' alt="Submit" onclick="setVisibility('sub1');" />
答案 1 :(得分:0)
你必须声明函数参数whitout撇号;像这样:
function setVisibility(sub){
var element = document.getElementById(sub);
答案 2 :(得分:0)
function setVisibility(id){
var element = document.getElementById(id);
if( 'none' == element.style.display ){
element.style.display = 'block';
}else{
element.style.display = 'none';
} return false;
}
试试这个