getElementById
在分配给变量时返回null。
var element = document.getElementById("ul1");
var newelement = document.createElement("li");
newelement.innerHTML = "New";
element.appendChild(newelement);
答案 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:)