appendChild出错 - 尝试在不存在的上下文中引用节点

Bat*_*man -2 javascript jquery

有什么理由不行吗?看起来很简单.我在控制台中收到此错误.我正在尝试使用数组中的值填充无序列表.

HTML:

<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type="text/javascript" src="intro.js"></script>
    </head>

    <body>
        <div id="container">
            <div id="main">
                <ul id="menu"></ul>
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

JS:

var container = document.getElementById("container");
var menuItems = ["Home","About","Contact Us", "Sign in"];

$(document).ready(function (){
    console.log("Populating menu");
    var elem = document.getElementById('menu');

    for(var i=0;i<menuItems.length;i++){

        elem.appendChild("<li id='" + menuItems[i] + "'>" + menuItems[i] + "</li>" );       
    }
    console.log('menu populated.');
});
Run Code Online (Sandbox Code Playgroud)

Dav*_*ass 5

如果你想坚持使用100%的JavaScript,请使用 document.createElement("li")

这是一个jsfiddle

var ul = document.getElementById("myID")
for (var i = 0; i < 10; i++){
    var li = document.createElement("li");
    li.setAttribute("id", "myLI" + i);
    li.innerText = "Hello " + i
    ul.appendChild(li)
}
Run Code Online (Sandbox Code Playgroud)