@MeMoJlor

Как записать HTML элементы в массив?

Добрый вечер. Каким способом я могу записать элементы с deleteitem и listitem в массив Array, который находится вне функций? Проблемы так же добавляет то, что изначально никаких HTML элементов на странице нет и они появляются динамически.

function pushItem() {
    list.innerHTML += `<div class="listItem">${items.pop()}<button class="delete">Отменить</button></div>`; 

    const deleteItem = document.querySelectorAll('.delete'),
    listItem = document.querySelectorAll('.listItem');
};
const Array = [];
  • Вопрос задан
  • 482 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Если я правильно понял вопрос:
const elements = { // сюда складывать элементы
  list: [],
  btn: [],
};

function pushItem() {
    const div = document.createElement('div'); // временный родитель
    div.innerHTML = `<div class="listItem">${items.pop()}<button class="delete">Отменить</button></div>`;

    elements.list.push(div.querySelector('.listItem');
    elements.btn.push(div.querySelector('.delete');

    // перенести из временного в постоянный
    while (div.childNodes.length) { // с запасом: вдруг там несколько элементов
        list.appendChild(div.childNodes[0];
    }
};

Создать временный элемент, в который впихнуть разметку.
Свежесозданные элементы для вставки «в массив» отыскать в этом временном контейнере и положить в массив.
Перенести созданое из временного в рабочий видимый элемент.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
san_jorich
@san_jorich
Творческий кодер
Как вариант поиск элементов на странице с триггером. Вы же подсчитываете элементы в определенный момент?
Ответ написан
Ваш ответ на вопрос

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

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