为什么Chrome不允许我使用nodelist?

时间:2015-06-27 22:19:43

标签: javascript html

我有以下HTML和Javascript代码,但Chrome无法允许我运行它,任何人都可以帮我修复它。 HTML代码是:

    var myNodelist = document.getElementsByTagName("p");
    document.getElementById("demo").innerHTML = "The innerHTML of the second paragraph is: " + myNodelist[1].innerHTML;
  <p>Hello World!</p>
    <p>The DOM is very useful!</p>
    <p id="demo"></p>

Chrome的错误消息是:未捕获的TypeError:无法读取未定义的属性“innerHTML”

1 个答案:

答案 0 :(得分:1)

最可能的问题是,您将JavaScript包含在HTML的标头中,并且在浏览器解析页面的其余部分之前它正在运行。所以DOM查找document.getElementById("demo")返回undefined。将JavaScript移动到HTML文件的底部,或让它等到DOM完成渲染(请参阅What is the non-jQuery equivalent of '$(document).ready()'?)。