2015-05-24 76 views
0
<style type="text/css"> 
    td.a{ 
     background: yellow 
    } 
</style> 

<table><td class="a"></td></table> 

上面是一個html/css代碼片段。從它可以知道td部分的背景顏色是黃色的。如何通過Javascript更改html td背景顏色?

後來,我添加了一個html選擇下拉組件。我希望在我選擇另一個選擇下拉值時將背景顏色從黃色更改爲藍色。但我不知道該怎麼做。

這應該是一個有關通過Javacript改變CSS的問題。這與How to change HTML background with JavaScript Function?非常相似,但是你可以看到我的td組件沒有id,它只有class。

希望有人能幫助我,謝謝。

+0

好一個id,明顯的解決方法是給你的'td'的'id',或使用'document.getElementByClassName' 。 **編輯:**爲您的[參考](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName) – digawp

回答

1

爲了改變所有元素與類名

var elements = document.getElementsByClassName("a"); 
for (var i = 0; i < elements.length; i++) { 
    elements[i].style.backgroundColor="blue"; 
} 

或者改變單一的元素,只要你知道它的位置。

var elements = document.getElementsByClassName("a"); 
elements[positon].style.backgroundColor="blue";//in your example position would be 0 

如果你給你的元素,你可以使用下面的

document.getElementById("idforelement").style.backgroundColor = "blue"; 
2

假設你想改變單元格背景的顏色(我假設你不僅僅是那個單元格)然後是newColor;

var tds = document.getElementsByClassName('a'); 
for (var x = 0; x < tds.length; x++) { 
    tds[x].style.background = newColor; 
}