我是一名编程新手,想通过开发一个小项目来提升自己的技能。
我正在使用HTML/JavaScript创建数独应用程序。我在HTML中有大量(81个)的“div”元素,并且我希望通过更改它们的innerHTML来为它们分配内容。使用两个for循环,我遍历所有81个变量,并重新创建它们的名称为“x”,然后将其传递给assign_cell()函数以组装代码。
puzzle_inc保存数独谜题本身(9..47.8.2..821..等等;“.”表示空单元格),我使用计数器函数逐个遍历其字符,将它们分配给每个“div”。
经过多次测试和搜索,我发现我的问题是x是“string”类型,而assign_cell()中的代码将无法工作。在这种情况下,x将始终等于类似“c01”的东西。
我一直在尝试将x转换为对象类型。我尝试使用JSON.parse()来解决问题,但由于对该领域的了解不足,我一直没有成功。
我不确定还有什么其他方法可以解决这个问题,但任何帮助都将不胜感激。
谢谢。
function assign_cell(flag, arr1, arr2) {
if(flag === 1) {
arr1.innerHTML = puzzle_inc[arr2];
} else if(flag === 2) {
arr1.innerHTML = null;
} else {
alert("Error in function assign_cell()");
}
}
for(var i = 0; i < 9; i++){
for(var k = 0; k < 9; k++){
var a = counter();
var x = "c"+i+k;
if(puzzle_inc[a] != '.') {
assign_cell(1, x, a);
} else {
assign_cell(2, x, a);
}
}
}
编辑:我被要求提供整个代码,以更好地回答我的问题。请在下面找到它。谢谢答案!
document.getElementById(arr1).innerHTML = puzzle_inc[arr2]
的操作,但很难确定是否确实需要这样做,因为您尚未发布HTML,我们也不知道puzzle_inc
变量是什么,或者counter()
函数的作用是什么。当您打开控制台时,是否会收到任何错误消息?(快捷键通常是F12) - Our_Benefactorsx
,这应该是唯一的。 - Chris Tapay