@rays_ofgoodness

Как при я могу проверить есть ли элемент в блоке или нет?

Код работает, но я знаю, что это неправильный вариант. Подаскажите, как можно проще реализовать.
В блоке динамически появляется превью картинки.
И есть кнопки удаления картинки.
Как можно проверить, если картинка добавлена в блок, чтоб добавлялся класс для кнопки, и это происходило в только в том блоке, где добавляется картинка?

const gridUploadInputs = document.querySelectorAll(".submit-add__images-file");
const gridUploadItems = document.querySelectorAll('.submit-add__images-item');
const gridUploadDel = document.querySelectorAll('.submit-add__images-del');
if(gridUploadInputs.length > 0) {

    gridUploadInputs.forEach((load) =>{
        function uploadGridFile(file) {

            var reader = new FileReader();
            reader.onload = function (e) {
                let drop = load.previousElementSibling;
                drop.innerHTML = `<img class="submit-add__images-photo" src="${e.target.result}" alt="Photo">`;
            }
            reader.readAsDataURL(file);
            
            gridUploadDel.forEach((del) =>{
                let delBtn = load.nextElementSibling;
                delBtn.classList.add('submit-add__images-del--active')
            });
        }
        load.addEventListener("change", () =>{
            uploadGridFile(load.files[0]);
            uploadGridFile();
        });
    }); 

}
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alekcena
Нелинейный наставник
document.querySelector() - возвращает селектор иначе undefined

Это значит что если мы вставим это в if() - если мы не найдём данный селектор, то блок не отработает.

Так же querySelector() - это метод любой дом ноды, который ищет элементы в себе.

document// главная дом нода.
let divNoda = document.querySelector('div');
let pNoda = divNoda.querySelector('p');
let iNoda = pNoda.querySelector('i');
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы