2016-11-03 3 views
3

Попытка выбрать div с классом «weather-info-temp» и сделать что-нибудь по щелчку. Но я получаю сообщение об ошибке, что "document.getElementsByClassName (" weather-info-temp ")" не является функцией ... Что я делаю неправильно?Выберите div и нажмите функцию

document.getElementsByClassName("weather-info-temp").on("click", function() { 
// code 
}); 

ответ

4

getElementsByClassName возвращает массив (например, объект) элементов и on является функцией JQuery.

Если у вас есть JQuery, используйте

$(".weather-info-temp").on("click", function(){ 
    // do stuff on click 
}); 

Если не использовать

var eles = document.getElementsByClassName("weather-info-temp"); 
for(var i=eles.length; i--;) eles[i].addEventListener("click", function(){ 
    // do stuff on click 
}, false); 
+2

Это не массив, это 'NodeList', но это правда – n00dl3

+0

это не массив, это массив (как в коллекции, группе и т. д.) –

+0

@ n00dl3 возвращает массивный объект всех дочерних элементов, которые имеют все указанные имена классов. –

Смежные вопросы