需要一些方向

时间:2013-09-24 13:24:31

标签: javascript object styles

只是想知道是否有人可以查看这段代码,如果我说得对,请告诉我。尝试循环遍历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();     
}       

1 个答案:

答案 0 :(得分: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);