Tengo algunos elementos div que tienen una clase '.swiper-slide'. Necesito que se elimine esta clase en la versión móvil de la pantalla. Sin embargo, estoy recibiendo el error. No se pueden leer las propiedades de undefined (leyendo 'classList') Por favor, dígame cómo solucionarlo Mi js:
function overlay() { let swiperSlide = document.querySelectorAll('.swiper-slide'); if (window.innerWidth < 991) { swiperSlide.forEach((swip, index) => { swip[index].classList.remove('swiper-slide'); }); } else { swiperSlide.forEach((swip, index) => { swip[index].classList.add('swiper-slide'); }); } }; overlay();Esto está mal:
swip[index].classList.remove('swiper-slide'); En la devolución de llamada a forEach , el primer argumento (en este caso, swip ) no es una copia de la matriz sobre la que está iterando. Es el elemento individual para cualquier iteración dada sobre la lista. Entonces accederías directamente:
swip.classList.remove('swiper-slide'); Si quisiera usar el index (el segundo argumento de la devolución de llamada), entonces lo usaría en la matriz , no en el elemento :
swiperSlide[index].classList.remove('swiper-slide');