alex-lenk
@alex-lenk
Разработчик сайтов

Методом JS как создать HTMl тег в родителях с определенными классами?

Здравствуйте. Помогите решить задачу:

Мне надо во всех тегах, где есть класс "item-parent" создать div с классом "item-decor"

<ul>
        <li class="item-parent">
            <a href="#">О системе</a>

            <ul class="mob-submenu">
                <li><a href="#">Поисковая оптимизация</a></li>
                <li><a href="#">Контекстная реклама</a></li>
            </ul>
        </li>
        <li><a href="#">Контакты</a></li>
    </ul>


Я попытался сам решить задачу, однако, у меня ничего не вышло:

var tagDiv = '<div class="item-decor"></div>';
    var itemParent = document.getElementsByClassName('item-parent');
    itemParent.innerHTML = tagDiv;


На jQuery решения не предлагать (хотя они мне очень нравятся, но библиотеку ради этого действия подключать не хочу).

В итоге хотел бы получить:

<ul>
        <li class="item-parent">
            <a href="#">О системе</a>

            <ul class="mob-submenu">
                <li><a href="#">Поисковая оптимизация</a></li>
                <li><a href="#">Контекстная реклама</a></li>
            </ul>

            <div class="item-decor"></div>
        </li>
        <li><a href="#">Контакты</a></li>
    </ul>
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('.item-parent').forEach(n => {
  n.insertAdjacentHTML('beforeend', '<div class="item-decor"></div>');
});

или

for (const n of document.getElementsByClassName('item-parent')) {
  const div = document.createElement('div');
  div.classList.add('item-decor');
  n.appendChild(div);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы