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 语句,下面的块被视为只是一个语句块。所以它循环了两次,什么都不做,然后进入块。
进入那个块时,count是codeNodeRefs.length(即2),所以codeNodeRefs[counter]返回undefined。
只需删除分号。
【讨论】:
以上是关于Javascript createTextNode 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
javascript document.createElement() document.createTextNode()
JavaScript 传递检索和传递输入信息 nodeValue 与 createTextNode
使用 createTextNode() 但我需要向其添加 HTML 标记 (JavaScript/JQuery)
JavaScript中innerHTML与innerText,createTextNode的区别