Создание html элемента в js
Мне нужно создать div в div'е с помощью js. Но вместо этого получается лишь '[object HTMLDivElement]' внутри div'а
Код, который я имею:
const container = document.querySelector('.block2');
const div = document.createElement('div');
div.classList.add('item');
div.innerHTML = document.createElement('div');
container.append(div);
<div class="block2"></div>
Ответы (1 шт):
Автор решения: EzioMercer
→ Ссылка
Проблема в том, что document.createElement возвращает Element, а это - объект
У вас есть много путей это сделать. Но если оставить логику вашего кода, то вам нужно достать outerHTML у созданного элемента:
const container = document.querySelector('.block2');
const div = document.createElement('div');
div.classList.add('item');
div.innerHTML = document.createElement('div').outerHTML;
container.append(div);
div {
border: 1px solid;
padding: 4px;
margin: 4px;
}
.block2 {
background-color: red;
}
.item {
background-color: green;
}
<div class="block2"></div>
Но будет лучше использовать метод append:
const container = document.querySelector('.block2');
const div = document.createElement('div');
div.classList.add('item');
div.append(document.createElement('div'));
container.append(div);
div {
border: 1px solid;
padding: 4px;
margin: 4px;
}
.block2 {
background-color: red;
}
.item {
background-color: green;
}
<div class="block2"></div>