0
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 エラー ; 機能しませんでした。サブから ' を離すと、4 番目のボタンが表示され、非表示になりました

4

3 に答える 3

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');" />
于 2013-11-11T16:51:27.340 に答える
0

アポストロフィなしで関数パラメーターを宣言する必要があります。このような:

function setVisibility(sub){
  var element = document.getElementById(sub);
于 2013-11-11T16:53:18.687 に答える
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;
 }

これを試して

于 2013-11-11T16:54:05.337 に答える