Объясните, почему forEach работает, а for нет. Это аккордеон. Вот работающий вариант с forEach:
(function accordeon() {
var el = document.querySelectorAll('.faq-accordeon-item__question');
for(var i = 0; i < el.length; i++) {
el[i].addEventListener('click', function(e) {
var show = document.querySelectorAll('.faq-accordeon-item__info');
show.forEach(function(item) {
item.style.display = 'none';
console.log(32);
});
e.target.nextElementSibling.style.display = 'block';
});
}
})();
А вот неработающий с for:
(function accordeon() {
var el = document.querySelectorAll('.faq-accordeon-item__question');
for(var i = 0; i < el.length; i++) {
el[i].addEventListener('click', function(e) {
var show = document.querySelectorAll('.faq-accordeon-item__info');
for(var i = 0; i < show.lenght; i++) {
show[i].style.display = 'none';
console.log(32);
}
e.target.nextElementSibling.style.display = 'block';
});
}
})();
Я, конечно, могу оставить forEach, но все же интересно, в чем разница между ними в данном контексте.