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