Я не могу понять, почему я получаю эту ошибку:
Uncaught TypeError: Невозможно прочитать свойство 'appendChild' из неопределенного
Вот мой код:
//create new div element, append it to the body, give it an ID and a Class.
const container_clause_1 = document.createElement("div");
document.body.appendChild(container_clause_1);
container_clause_1.setAttribute("id", "container_clause_1");
container_clause_1.classList.add("cc1");
console.log(container_clause_1);
//returns <div id="container_clause_1" class="cc1></div>"
const cClause1 = document.getElementById("container_clause_1");
console.log(cClause1);
//returns <div id="container_clause_1" class="cc1></div>"
const right_clause_1 = document.createElement("div");
console.log(right_clause_1); //returns <div></div>
document.cClause1.appendChild(right_clause_1); //Error occurs here!
Я не понимаю, что не определено в этой ситуации.cClause1
это определение.right_clause_1
также определен.Конечно, на данный момент это пустой div, но это то, что я пытаюсь сделать - добавить div, а затем я могу добавить класс и id и т. Д.
Кроме того, я не вижу опечаток.
Кроме того, если я заменю document.cClause1.appendChild(right_clause_1);
на document.body.appendChild(right_clause_1);
, он будет работать нормально.За исключением того, что я не хочу это внутри тела, а скорее, внутри контейнера container_clause_1.
Я не могу использовать JQuery для этого.«Почему бы и нет» не совсем уместно в вопросе.У меня есть причины.Просто поймите, что я не могу использовать JQuery.
Ну, это было так очевидно - после того, как все начали указывать на то, что я сделал неправильно!Спасибо за ответы!
Еще одна вещь, на которую мне это указало:
Я могу исключить переменную cClause
и просто использовать container_clause_1
, поэтому мой кодкороче!
const container_clause_1 = document.createElement("div");
document.body.appendChild(container_clause_1);
container_clause_1.setAttribute("id", "container_clause_1");
container_clause_1.classList.add("cc1");
const right_clause_1 = document.createElement("div");
container_clause_1.appendChild(right_clause_1);
right_clause_1.setAttribute("id", "right_clause_1");
right_clause_1.classList.add("r1");