Javascript createTextNode 不起作用

Posted

技术标签:

【中文标题】Javascript createTextNode 不起作用【英文标题】:Javascript createTextNode doesn't work 【发布时间】:2015-11-07 06:22:16 【问题描述】:

我在学校有一个任务是在 javascript 执行时编写网页的 DOM。我们在纸上得到了作业,当我尝试在 sublime 上编写它并运行它时,代码将无法工作。我认为问题是 在以下几行:

tdTextNodeRef=document.createTextNode(codeNodeRefs[counter].innerhtml);
        tdNodeRef.appendChild(tdTextNodeRef); 

完整的代码可以在这里找到:https://github.com/Nirakander/JS-assignment

为什么这不起作用?当代码甚至不工作时,分配真的很糟糕。提前致谢!

【问题讨论】:

为什么你认为这不起作用?还有tableNodeRef.appendChild(trNodeRef);,IE 不喜欢它,因为它想将行添加到 tbody,而不是直接添加到表中。 控制台说“无法读取未定义的'innerHTML'的属性”,这就是为什么我认为这是问题所在。 tbody 是什么意思?当我运行代码时,它看起来像 tableNodeRef 将 tr 附加到表中? 【参考方案1】:

你的错误在这里:

for(var counter=0; counter<codeNodeRefs.length; counter++);
----------------------------------------------------------^

那个额外的分号以一个空块结束 if 语句,下面的块被视为只是一个语句块。所以它循环了两次,什么都不做,然后进入块。

进入那个块时,countcodeNodeRefs.length(即2),所以codeNodeRefs[counter]返回undefined。

只需删除分号。

【讨论】:

以上是关于Javascript createTextNode 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

javascript document.createElement() document.createTextNode()

JavaScript 传递检索和传递输入信息 nodeValue 与 createTextNode

使用 createTextNode() 但我需要向其添加 HTML 标记 (JavaScript/JQuery)

JavaScript中innerHTML与innerText,createTextNode的区别

javascript document.createTextNode 在 java 脚本中返回 <p> </p>

JS 中的 createTextNode 在 Chrome 中不起作用