Задача по JS, нужен совет
Нужно, чтобы после нажатия на кнопку создался элемент input и кнопка, но создает только кнопку, прошу помочь найти ошибку.
function f8() {
let out = document.querySelector('.out-8');
out.innerHTML = '<input type="text" class="i-81"/>'
out.innerHTML = '<button class="b-81"></button>'
}
function f81 () {
}
document.querySelector('.b-8').onclick = f8;
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Вы каждым следующим innerHTML затираете предыдущий. Правильно так:
function f8() {
let out = document.querySelector('.out-8');
out.innerHTML = '<input type="text" class="i-81" placeholder="input"/><button class="b-81">button</button>';
}
document.querySelector('.b-8').onclick = f8;
.b-8 {
height: 40px;
box-shadow: inset 0 0 10px red;
}
.out-8 {
height: 40px;
box-shadow: inset 0 0 10px green;
}
<div class="b-8"></div>
<div class="out-8"></div>
А ещё лучше так:
function f8() {
let out = document.querySelector('.out-8');
out.insertAdjacentHTML('beforeend', '<input type="text" class="i-81" placeholder="input"/>');
out.insertAdjacentHTML('beforeend', '<button class="b-81">button</button>');
}
document.querySelector('.b-8').onclick = f8;
.b-8 {
height: 40px;
box-shadow: inset 0 0 10px red;
}
.out-8 {
height: 40px;
box-shadow: inset 0 0 10px green;
}
<div class="b-8"></div>
<div class="out-8"></div>