44

我正在尝试一个非常基本的示例来创建一个div已经存在的div.

当我使用时,它似乎不起作用:

document.getElementbyId('lc').appendChild(element)

但是当我这样做时效果很好:

document.body.appendChild(element)

我需要添加windows.onload功能吗?虽然即使那样也行不通!

HTML 代码:

<body>
    <input id="filter" type="text" placeholder="Enter your filter text here.." onkeyup = "test()" />

    <div id="lc">  
    </div>
</body>

JS代码:

function test()
{
    var element = document.createElement("div");
    element.appendChild(document.createTextNode('The man who mistook his wife for a hat'));
    document.getElementbyId('lc').appendChild(element);
    //document.body.appendChild(element);
}
4

3 回答 3

63

您的代码运行良好,您只是输入了这行代码:

document.getElementbyId('lc').appendChild(element);

用这个改变它:(B ”应该大写。)

document.getElementById('lc').appendChild(element);  

这是我的例子:

<html>
<head>

<script>

function test() {

    var element = document.createElement("div");
    element.appendChild(document.createTextNode('The man who mistook his wife for a hat'));
    document.getElementById('lc').appendChild(element);

}

</script>

</head>
<body>
<input id="filter" type="text" placeholder="Enter your filter text here.." onkeyup = "test()" />

<div id="lc" style="background: blue; height: 150px; width: 150px;
}" onclick="test();">  
</div>
</body>

</html>

于 2012-09-27T13:33:48.383 回答
5

document.getElementById 'b' 在修改后的代码jsfiddle中应为大写字母

function test()
{

var element = document.createElement("div");
element.appendChild(document.createTextNode('The man who mistook his wife for a hat'));
document.getElementById('lc').appendChild(element);
 //document.body.appendChild(element);
 }
于 2012-09-27T13:35:09.757 回答
-2

是的,当元素已经在文档的 DOM 树中找到时,您要么需要执行此操作,要么需要onload在结束<script>标记之后的标记中执行此操作。</body>lc

于 2012-09-27T13:30:38.937 回答