Новый для es6, есть ли способ добавить HTML, используя литералы шаблонов `` в DOM, не перезаписывая то, что было опубликовано в данный момент?
У меня есть огромный блок HTML, который мне нужно опубликовать для создаваемого списка. Где пользователь может опубликовать свой ввод.
Каждый раз, когда задача отправляется, она перезаписывает текущую отправку. Мне нужно, чтобы это было добавлено внизу.
рабочий пример для демонстрационных целей.
https://jsfiddle.net/uw1o5hyr/5/
<div class = main-content>
<form class ='new-items-create'>
<label>Name:</label><input placeholder = " A Name" id = "name">
<button class = "subBtn">Submit</button>
</form>
</div>
<span class = "new-name"></span>
JavaScript
form.addEventListener('submit',addItem);
function addItem(event){
event.preventDefault();
let htmlStuff =
`
<div class = "main">
<div class = "a name">
<span>${name.value}</span>
</div>
<div>
`
itemCreated.innerHTML = htmlStuff;
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете просто использовать +=, чтобы добавить:
document.getElementById('div').innerHTML += 'World';<div id = "div">
Hello
</div>insertAdjacentHTML() добавляет htmlString в 4 позиции, см. демонстрацию. В отличие от .innerHTML он никогда не перерисовывает и не уничтожает исходный HTML и ссылки. Единственное, что .innerHTML делает, а insertAdjacentHTML() не умеет, — это читать HTML. Примечание: присваивание с помощью .innerHTML всегда уничтожает все, даже при использовании оператора +=. См. этот сообщение
const sec = document.querySelector('section');
sec.insertAdjacentHTML('beforebegin', `<div class='front-element'>Front of Element</div>`)
sec.insertAdjacentHTML('afterbegin', `<div class='before-content'>Before Content</div>`)
sec.insertAdjacentHTML('beforeend', `<div class='after-content'>After Content</div>`)
sec.insertAdjacentHTML('afterend', `<div class='behind-element'>Behind Element</div>`)* {
outline: 1px solid #000;
}
section {
margin: 20px;
font-size: 1.5rem;
text-align: center;
}
div {
outline-width: 3px;
outline-style: dashed;
height: 50px;
font-size: 1rem;
text-align: center;
}
.front-element {
outline-color: gold;
}
.before-content {
outline-color: blue;
}
.after-content {
outline-color: green;
}
.behind-element {
outline-color: red;
}<section>CONTENT OF SECTION</section>
itemCreated.innerHTML += htmlStuff