OnClick事件错误

时间:2013-11-11 16:49:07

标签: javascript onclick html-helper

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个按钮出现并消失

3 个答案:

答案 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;
 }

试试这个