2013-10-28 62 views
0

我試圖將顏色更改屬性附加到表格背景。用javascript改變表格的背景顏色

var bakgrunnFarge=new Array("#CCFFCC", "#FFCCCC") 
document.getElementById("change_color").style.background=bakgrunnFarge[Math.floor(Math.random()*bakgrunnFarge.length)] 

<table class="change_color" name="change_color" id="change_color"> 

但我只是不能得到它的工作,任何幫助將不勝感激。 在前進,謝謝

+0

廠在這[jsfiddle](http://jsfiddle.net/QJLSf/) – PaulProgrammer

+0

是啊,像往常一樣,我的問題是由於缺乏耐心和相當慢的邏輯感:) – Freshman

回答

2

你必須把你的JavaScript的元素(表格)UNDER:

<html> 
<head> 
    <title>Random background-color</title> 
</head> 
<body> 
    <table class="change_color" name="change_color" id="change_color"> 
     <tr> 
      <td>lorem</td> 
      <td>lorem</td> 
      <td>lorem</td> 
      <td>lorem</td> 
     </tr> 
     <tr> 
      <td>lorem</td> 
      <td>lorem</td> 
      <td>lorem</td> 
      <td>lorem</td> 
     </tr> 
    </table> 

</body> 
<script type="text/javascript"> 
    var bakgrunnFarge=new Array("#CCFFCC", "#FFCCCC"); 
    window.document.getElementById("change_color").style.background=bakgrunnFarge[Math.floor(Math.random()*bakgrunnFarge.length)] 
</script> 
</html> 
+0

謝謝你,這個伎倆......忘記了邏輯閱讀順序,我的壞:P – Freshman

2

的DOM還尚未加載。你可以做這樣的事情......

document.body.onload = function() { 
    var bakgrunnFarge=new Array("#CCFFCC", "#FFCCCC") 
    document.getElementById("change_color").style.background=bakgrunnFarge[Math.floor(Math.random()*bakgrunnFarge.length)] 
} 

或場所的處理程序在你的身體標記:

<body onload="myFunction()">Stuff</body> 

Ooorr您可以收聽到事件DOMContentLoaded像這樣:

document.addEventListener("DOMContentLoaded", function(event) { 
    var bakgrunnFarge=new Array("#CCFFCC", "#FFCCCC") 
    document.getElementById("change_color").style.background=bakgrunnFarge[Math.floor(Math.random()*bakgrunnFarge.length)] 
});