2013-09-24 63 views
-1

只是想知道是否有人可以看看這段代碼,讓我知道我是否有這個權利。嘗試遍歷allCells對象集合並將背景顏色設置爲白色,並運行事件處理程序,該程序在單擊每個單元格時運行changeColor()函數。謝謝!需要一些方向

window.onload = setPuzzle; 

var allCells; 

function setPuzzle() { 
    var puzzleTable = document.getElementById("puzzleCells"); 
    var allCells = document.getElementsByName("puzzleTable"); 

for (var i = 0; i < allCells.length; i++) { 
    allCells[i].style.backgroundcolor = "white";  
    } 

for (var i = 0; i < allCells.length; i++) { 
    allCells[i].onclick = changeColor() 
    } 

document.getElementById("solution").onclick = showSolution(); 
document.getElementById("hide").onclick = hideSolution(); 
document.getElementById("check").onclick = checkSolution(); 
document.getElementById("uncheck").onclick = uncheckSolution();  
}  
+0

第一個for循環看起來很奇怪,你應該有allCells [i] .style ...我想 – MichaC

+2

當你嘗試時會發生什麼? – kielni

+0

我還沒有試過運行它。這是該計劃的開始,並希望確保我有點正確。我編輯了上面的代碼以包含allCells [i]代碼。如果我想改變所有的單元格顏色爲白色,我是否需要document.getElementsByTagName(allCells)? –

回答

0

你的第一個循環之前

allCells[i].document.getElementsByName(allCells) 

應該有類似

allCells = document.getElementsByName([[ NAME ]]); 

而且

document.getElementsByName(allCells) 

不能工作,因爲ALLCELLS沒有設置任何東西。

你已經設置的元素列表ALLCELLS後,您可以在它們之間迭代這樣的:

allCells[i].style.backgroundColor = "white"; 

和JavaScript是大小寫敏感的,所以你必須寫的backgroundColor代替的backgroundColor。

更新:要分配的功能,一個事件,你必須寫

.onclick = yourFunction; 

.onclick = yourFunction(); 

在長遠來看,這將是更好的使用這個:

.addEventListener("click", yourFunction);