Событие Javascript onclick не работает со ссылкой на переменную
Я читаю некоторый код и пытаюсь повторить то же самое в моем конце, шаг за шагом.
Я прикрепляю событие к определенной кнопке и нажимаю на нее, чтобы записать заявление.
Ниже приведен код, который не работает:
(function(){
var el = function(element){
if(element.charAt['0'] === '#'){
return document.querySelector(element);
}
return document.querySelectorAll(element);
}
var viewer = el('#viewer');
var clear = el('#clear');
console.log(clear);
var clearAll = function(){
console.log('Clearing');
};
//click event
clear.onclick = clearAll;
})();
Над функцией используется для получения элементов.
Код ниже работает
document.getElementById('clear').onclick = clearAll;
или же
document.querySelector('#clear').onclick = clearAll;
Я не понимаю, почему вышеприведенный код не работает. Пожалуйста помоги.
2 ответа
"foo".charAt['0']
является undefined
так как charAt
является функцией и не имеет 0
имущество.
Тебе нужно ()
(для вызова функции), а не []
(для доступа к свойствам объекта).
Вы используете charAt в качестве массива, в то время как это функция.
var el = function(element){
if(element.charAt('0') === '#'){
return document.querySelector(element);
}
return document.querySelectorAll(element);
}
Посмотрите это работает https://jsfiddle.net/
С Уважением,