2016-04-12 11 views
0

ボタンをクリックしたときにセルの色を変更しようとしています。ここに私の現在のコードがあります。 (私はこれに非常に新しいですし、物事をいじりしています)私は緑に「changeColorId」の背景色を変更しようとしていますjavascriptを使用して現在のセルの色に切り替える

function changeColor() { 
if(document.getElementById("changeColorId").bgColor = "yellow"){ 
      document.getElementById("changeColorId").bgColor = "green"; 
     } else { 
      document.getElementById("changeColorId").bgColor = "blue"; 
     } 
    } 

現在の色が黄色であれば(それはやるん)。しかし、ボタンをもう一度クリックすると青に変わりたいと思っていますが、これをどうやってやりますか? =帰属であるため、比較のために

+0

あなただけのJavaScriptでこれを実行したいか、またはあなたはjqueryのを使用して開いていますか? – Keatinge

+0

この関数はどのコンテキストで動作しますか? HTMLとは何ですか? – SaidbakR

+0

コードの2つの問題点を指摘してください。 1つ目は、代入でtypoと等しい操作です。次に、backgroundColorを呼び出す正しいプロパティがあります。 –

答えて

1

構文

のdocument.getElementById( "changeColorId")はbgColor

以下は、要素のcolorプロパティを取得するための正しい構文です。

のdocument.getElementById( "changeColorId")。style.color

コード、それが動作するHTMLページに簡単な場所のコードを確認してください。

> <button onclick="changeColor();" >Click me</button> 

> <div id="changeColorId" style="background-color:yellow"> 

> </div> 
 

    
     function changeColor() { 
     var elementStyle = document.getElementById("changeColorId").style; 

     if(elementStyle.backgroundColor == "yellow"){ 
      elementStyle.backgroundColor = "green"; 
      } 
      else if(elementStyle.backgroundColor == "green"){  
       elementStyle.backgroundColor = "blue"; 
      } 
      else { 
      elementStyle.backgroundColor = "yellow"; 
      } 

     } 
    

2

は、等価演算子==を使用しています。詳細については、Documentationを参照してください。

のdocument.getElementById( 'ELEMENTID').style:あなたはキャメルケースで財産が続くstyle属性にアクセスする必要がある要素のCSSにアクセスすることも

、。私は何をあなたが到達したいことは、このだと思いプロパティ

function changeColor() { 
    if(document.getElementById("changeColorId").style.backgroundColor === "yellow"){ 
    document.getElementById("changeColorId").style.backgroundColor = "green"; 
    } else { 
    document.getElementById("changeColorId").style.backgroundColor = "blue"; 
    } 
} 
+0

いいえ、 '=='は 'if'で十分です – SaidbakR

関連する問題