Не могу пройти через все элементы с классом spesifi c - PullRequest
0 голосов
/ 04 мая 2020
function clearAccrual(){

    var highlightedLength = document.querySelectorAll('.highlighted').length;

    for(i=0;i<highlightedLength;i++){
        var dates = document.getElementsByClassName('highlighted')[i].getAttribute('data-date');    
        var monthAndYear = document.getElementById('monthAndYear').innerHTML;
        const userId = firebase.auth().currentUser.uid;
        var easyDocRef = db.collection('users').doc(userId).collection('accrual').doc(monthAndYear);

        //This does only change the first element, I want all the elements to change
        document.getElementsByClassName('highlighted')[i].classList.remove('easyAccrual','mediumAccrual','hardAccrual')
        easyDocRef.set({
            easy: firebase.firestore.FieldValue.arrayRemove(dates),
            medium: firebase.firestore.FieldValue.arrayRemove(dates),
            hard: firebase.firestore.FieldValue.arrayRemove(dates)
        }, {merge: true})
    }
}

Если я напишу console.log (i), он возвращает правильное значение в зависимости от того, сколько элементов «выделено» классом. Поэтому, если есть три элемента с классом «подсвеченный», он возвращает 0, 1 и 2. Но когда я пытаюсь использовать «i» для l oop через элементы с этим классом, это просто влияет на первый элемент. Я хочу удалить классы из всех элементов с «выделенным» классом, а не только с первым. Я тоже не получаю никаких ошибок. Спасибо за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...