Поймать выделенный элемент
Всем привет.
function addAdditional(el) { var colItem = checkOrder.childNodes var photo_title = el.dataset.title var photo_price = el.dataset.price var div_main = document.createElement('div') div_main.classList.add('col-main', 'row') var div_text = '<div class="text-left col-10"><span>' + photo_title + '</span></div>' div_main.innerHTML = div_text for (var i = 0; i < colItem.length; i++) { if (colItem[i].classList.contains('click')) { var date = colItem[i].dataset.dayhour for (var j = 0; j < additional.length; j++) { if (date == additional[j].dataset.dayhour) { additional[j].classList.add('yes-add') additional[j].append(div_main) } } } } } Я кликаю и выделяю блок, добавляя элементу класс click. Затем при нажатии на другую кнопку, вызываю уже даную ф-цию. И проверяю на сопадение. Работает, если выделен какой нибудь один блок. Если несколько, то вставляется только последний. Подскажите в чём ошибка? |
Похоже спамеры добрались до пользования gpt 3 в своих скриптах.
|
Еще бы знать, что такое additional и как он формируется.
Опять же смущает colItem = checkOrder.childNodes childNodes - это все узлы, включая пустые текстовые между элементами. Например перенос строки между элементами дает текстовый узел. Для выбора только элементов надо colItem = checkOrder.children |
До меня дошло. Вы вставляете куда то созданный div_main. Потом снова вставляете его в другое место. Он благополучно туда переносится из первого места. Элемент то один. Его нельзя вставить в много мест.
Надо делать его копию additional[j].append(div_main.cloneNode(true)) |
Часовой пояс GMT +3, время: 06:54. |