В настоящее время пишу JavaScript для простой веб-страницы, содержащей 3 типа рецептов: закуски, основные блюда и десерты. При нажатии на кнопку «Закуски» все основные блюда и десерты должны быть скрыты
Я «пометил» определенные элементы на странице, дав им название класса, и написал следующий код:
<li><a href="#" onclick="startersOnly()" >starter</a></li>
<script>
function hideDesserts(){
var desserts = document.querySelectorAll('.dessert');
for (x in desserts) {
desserts[x].style.display='none';
}
}
function hideMainCourse() {
var maincourse = document.querySelectorAll('.main_course');
for (y in maincourse) {
maincourse[y].style.display='none';
}
}
function startersOnly() {
hideMainCourse();
hideDesserts();
}
</script>
Выполняется только hideMainCourse (). Когда я изменяю порядок, выполняется только hideDesserts ().
Сообщение об ошибке:
Uncaught TypeError: Cannot set property 'display' of undefined
at hideMainCourse (portfolio.html:99)
at startersOnly (portfolio.html:103)
at HTMLAnchorElement.onclick (VM401 portfolio.html:84)
hideMainCourse @ portfolio.html:99
startersOnly @ portfolio.html:103
onclick @ VM401 portfolio.html:84