Поймать выделенный элемент
Всем привет.
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, время: 17:13. |