0

我究竟做错了什么?我正在尝试将 textID 值设置为空。

    function toggle_visibility(id,textid) {
       var e = document.getElementById(id);
       var f = document.getElementById(textid);
       if(e.style.display == 'block')
          e.style.display = 'none';
          f.value="";
       else
          e.style.display = 'block';
    }

我相信它一定很简单。

4

3 回答 3

5

if 语句在 ; 之后结束 如果你不把它放在括号 {}

否则更正:

if (e.style.display == 'block') { // Multi-line.
      e.style.display = 'none';
      f.value="";
  }
  else
      e.style.display = 'block'; // Single-line.
于 2013-06-27T20:42:13.573 回答
1

您必须添加大括号以指示大括号内的所有语句都需要执行。否则我认为只有第一条语句被执行,所以该字段不会被清除。

于 2013-06-27T20:44:10.783 回答
0

就像 NullPointerException 所说,如果您不使用{ ... }. 我认为为了清楚起见,最好始终使用括号,除非整个if .. else if ... else语句是单行的。

以下所有工作,但在我看来,中间和最后一个更容易使用。

/* Hard to follow */
if (false) { // Do several things
    console.log("Multi");
}
else // Do one thing
    console.log("Singe");


/* Easy to see what's related to what */
if (false) {
    console.log("Multi_if");
}
else{
    console.log("Multi_else");
}


/* Reasonably clear to decipher */ 
if (false)
    console.log("Single_if");
else
    console.log("Singe_else");

http://jsfiddle.net/daCrosby/qGK7B/

于 2013-06-27T21:00:14.903 回答