2012-01-26 8 views
0

CSSの表示プロパティに少し問題があります。CSSの表示プロパティがjavacriptで変更されました

私は次のコードの部分を持っている:

<input type="text" name="extra" value="" id="i1" style="display:block"> 

<script type="text/javascript"> 
function changeVisibility(el){ 
      if(el.style.display="block"){el.style.display="none";} 
      else { el.style.display="block";}     
     } 
</script> 

問題は、それがブロックとして表示され、誰にも負けない変更が、されてアウトを開始:)動作しないですメソッドをもう一度呼び出そうとするたびにブロックに戻ることはありませんか?

また、フィールドが表示されなくなったときにページソースを表示しようとすると、まだ「ブロック」に設定されていますか?

どのように私はこれを修正できますか?

+0

ページソースを表示すると元のソース(変更されていない)が表示され、ブラウザの開発ツールを使用して現在の状態を見ることができます(IE/ChromeではF12、FirefoxではFirebug) – Dementic

+0

それを知らなかった。ありがとうございました !すべての場合は – PNS

答えて

3

等価演算子は==であり、=ではありません。

これは永久にstyle.display="block"で割り当てられますので、=を追加して、割り当てを同等から等価に変更してください。

+0

、次に正確に一致させるには '==='。 – Dementic

+0

うわー、よくs'poseそれはあなたがメモ帳で書くときに時々起こることです:) thxたくさん! – PNS

1

==とnot =を使用するif文を変更します。それはあなたの問題かもしれません。 ifステートメントは常にtrueに戻りますので、常にdisplayをnoneに設定します。

関連する問題