当分配给变量时,getElementById返回null

时间:2015-12-08 16:52:38

标签: javascript

getElementById在分配给变量时返回null。

var element = document.getElementById("ul1");
var newelement = document.createElement("li");
newelement.innerHTML = "New";
element.appendChild(newelement);

1 个答案:

答案 0 :(得分:0)

当您将javascript放入文档的head时,它将在页面上的任何其他元素之前加载(并阻止加载body)。

实际所做的快速举例如下:

<!-- script runs before element creation -->
<script type="text/javascript">
    var element = document.getElementById('ul1');
</script>
<!-- this is after execution, where JS could not find the element but only now is the element actually created -->
<ul id="ul1"></ul>

要解决此问题,您可以做一些事情

  • <script>标记放在要定位的元素下方
  • <script>标记放在结束</body>标记上方
  • 使用window.onload = function() { ... }确保在执行任何操作之前加载页面。

然后ul元素将存在,您将能够追加您的LI:)