Как реализовать на нативном js аналогичную функцию appendTo (jquery) ?
Взял пример с http://api.jquery.com/appendto/
Вариант 1, с помощью appendChild
[].forEach.call(document.querySelectorAll(".inner"), function(item) {
var p = document.createElement("p");
p.innerHTML = "Тест";
item.appendChild(p);
});
<h2>Greetings</h2>
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
Вариант 2, с помощью insertAdjacentHTML
[].forEach.call(document.querySelectorAll('.inner'), function(item) {
item.insertAdjacentHTML('beforeend', '<p>Test</p>');
})
<h2>Greetings</h2>
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
Вариант 3. Извините, тупой, даже пример приводить не буду.
Тоже самое, но с innerHTML += ''. Так делать нельзя
Подробнее -
elem.innerHTML += '123';
То же самое что и
elem.innerHTML = elem.innerHTML + "123";
То есть, весь DOM внутри элемента перестраивается. Если этот элемент - форма - то все введеные в input значения и их состояние будет обнулено в некоторых браузерах. Ну и явно неоптимально брать и перестраивать все ради добавления одного элемента
var div = document.createElement('div'); // Создаем элемент
div.className = "divExample"; // Даем ему класс
div.innerHTML = "<strong>Текст</strong>"; // Вставляем необходимый html
var block = block.appendChild('div'); // вставляем элемент в необходимый болк, который можем указать через id (в примере id = block)
Доп. информация: https://learn.javascript.ru/modifying-document
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости