Добавить разметку через JS

154
19 апреля 2018, 11:10

Есть div с содержимым

<div class="item" id="iteminf">
    <span class="button_contents">Продать</span></a>
</div>

Как добавить к div iteminf еще один span и при этом не заменив все что уже есть в iteminf ?

<span class="button_contents">Поменять</span></a>

Делаю так, но но заменят все что есть в iteminf

var but = '<span class="button_contents">Поменять</span></a>';
    document.getElementById("iteminf").innerHTML = but;

Как правильно сделать?

Answer 1

Правильно - так:

myTargetElement.insertAdjacentHTML('beforeend', htmlString); 

MDN: Element.insertAdjacentHTML()

Данная функция не переписывает имеющиеся элементы, что предовращает дополнительную сериализацию и поэтому работает быстрее, чем манипуляции с innerHTML.

Answer 2

Как добавить к переменной 2, при этом не заменяя ее значение на 2. Делаю:

x = 2;

но переменная становится равной 2.

document.getElementById("iteminf").innerHTML += but;

P.S. У Вас там какой-то хвост </a> болтается.

READ ALSO
Показать элементы без ajax

Показать элементы без ajax

Есть много div, и стоят они по 3 штуки в рядИзначально показывает 6 div, остальные скрываются

151
Условие для скрытия элементов [требует правки]

Условие для скрытия элементов [требует правки]

Есть страницаПри скролле фильтр фиксируется под хеадером

108
Входная строка при удалении файла C#

Входная строка при удалении файла C#

Есть файл в базеЕго надо удалить через интерфейс

119