2010-07-01 59 views
1

能有人告訴我什麼是錯的:JavaScript函數來改變按鈕的顏色

<html> 

    <script type = "text/javascript"> 
     function colourGreen() 
     { 
      document.getElementById("button1").style.bgColor = 0xFFFF00; 
     } 
    </script> 
    <body> 

     <form action=""> 
      <div id = "button1"> 
       <input type="button" value="Colour"> 
      </div id> 
      <div id = "button2"> 
       <input type="button" value="Price up" onclick = "colourGreen()"> 
      </div id> 
      <div id = "button3"> 
       <input type="button" value="Price down"> 
      </div id> 
     </form> 

    </body> 
</html> 
+1

button1是一個div,而不是一個按鈕。 – DOK 2010-07-01 19:49:21

+1

您在關閉div標籤中也有雜散的'id'屬性。 – AndreiM 2010-07-01 19:56:10

+0

所以,如果你願意的話,你可以保留div,間距。但不要打擾給他們ID。將ID放在標籤內,如下所示: DOK 2010-07-01 20:00:40

回答

4
document.getElementById("button1").style.backgroundColor = '#FFFF00'; 
+0

#FFFF00會變黃。嘗試#00FF00綠色。 – DOK 2010-07-01 19:58:22

1

嘗試:

document.getElementById("button1").style.backgroundColor = '#00ff00'; 

這是backgroundColorbgColor

+0

非常感謝!我記得你以前幫過我的人:) 也給其他人閱讀,不要使用一個div,因爲這樣就爲整行而不是按鈕着色! – Tom 2010-07-01 19:53:03

+0

#FF0000會讓你變紅。嘗試#00FF00綠色。 – DOK 2010-07-01 19:57:35

0

我會嘗試

.style.backgroundColor = 0xFFFF00; 
+0

不幸的是,這是行不通的。 '0xFFFF00'無效值。 – 2010-07-01 19:55:32

+0

糟糕;謝謝。我專注於OP的不正確的風格屬性。 – 2010-07-01 21:55:00

0

我假設你的div只與你的按鈕一樣大,因此被按鈕本身隱藏起來。改變你的顏色按鈕本身而不是div?

一個整潔和更可靠的方式來編輯css的項目是使用jquery選擇器。 $( 「#Button1的」),CSS( 「背景色」, 「#FF0000」)。 請務必在嘗試此操作之前包含jquery .js文件,否則會得到對象預期的錯誤。

1

您可以創建一個css規則並將該按鈕的className更改爲鏈接到該規則。

<style type="text/css"> 
    .buttonColor{ 
      background-color: green; 
    } 
</style> 

<script type ="text/javascript"> 
    function colourGreen() { 
     document.getElementById("button1").className = "buttonColor"; 
    } 
</script> 

這樣,如果你出於某種原因決定改變顏色或背景,你將不必在每一頁上改變它。您將能夠更改該一個CSS文件。