我在学校有一项作业,要求在 JavaScript 执行时编写网页的 DOM。我们在纸上得到了作业,当我尝试在 sublime 上编写并运行它时,代码无法工作。我认为问题是 在以下几行:
tdTextNodeRef=document.createTextNode(codeNodeRefs[counter].innerHTML);
tdNodeRef.appendChild(tdTextNodeRef);
完整代码可以在这里找到:https://github.com/Nirakander/JS-assignment
为什么这不起作用?当代码甚至无法工作时,分配真的很糟糕。提前致谢!
最佳答案
您的错误在这里:
for(var counter=0; counter<codeNodeRefs.length; counter++);{
----------------------------------------------------------^
这个额外的分号以一个空 block 结束 if 语句,后面的 block 被视为只是一个语句 block 。所以它循环两次,什么都不做,然后进入 block 。
进入该 block 时,count 为 codeNodeRefs.length(即 2),因此 codeNodeRefs[counter] 返回 undefined.
只需删除分号即可。
关于Javascript createTextNode 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32002535/