Столкнулся с ошибкой в консоли:
Cannot set property 'onclick' of undefined
Не пойму почему она возникает. Подскажите, пожалуйста. Вот пример где она возникает:
var choice = document.getElementsByClassName('choice');
for(var i = 0; i <= choice.length; i++){
choice[i].onclick = choosePar;
}
function choosePar(){
if(this.value == 'y'){
console.log('yes');
}
if(this.value == 'n'){
console.log('not');
}
}
<button class="choice" value="y">Да</button>
<button class="choice" value="n">Нет</button>
Не корректное условие в цикле. Надо так for(var i = 0; i < choice.length; i++)
. Не <=
, а <
. Если бы с 1
начал, то <=
Также не забывай про onload
и domready
choice.length - кол-во элементов, в данном случае их 2, но массивы нумеруются с нуля. Т.е. у вас есть элементы с индексами 0 и 1 Вы делаете цикл с 0 до 2 включительно, и он перебирает 0, 1, 2. Когда вы обращаетесь к choice[2] - вы получаете undefined, а у него нет свойства onClick, что и выдаёт данную ошибку в консоли
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо экранировать все символы ' (скобка) методом RegEx в строке ( \' ''' ' ' ), нужно учесть то что в строке возможно уже экранированный символ
Хотелось бы проверить работу скриптов сайта в in-app браузере instagram, может есть какая нибудь тестовая площадка?
ПроблемаЕсть сайт с кучей разных html, в каждой jq скрипты, на главной странице просто ссылки на другие страницы, в общем полный адъ