我正在尝试将颜色更改属性附加到表格背景。
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 :(得分:2)
你必须将你的javascript置于你的元素(你的表)之下:
<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>
答案 1 :(得分: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)]
});