Создание элемента div внутри элемента div в javascript

Я пытаюсь сделать очень простой пример создания 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);
}

Ответы

Ответ 1

Ваш код работает хорошо, вы просто ошиблись в этой строке кода:

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

измените его следующим образом:

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>

Ответ 2

'b' должно быть в заглавной букве в document.getElementById измененном коде 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);
 }

Ответ 3

Да, вам нужно либо сделать это onload, либо в теге <script> после закрытия тега </body>, когда элемент lc уже найден в дереве DOM документа.