Есть такой код и он работает:
function openLikeBlock() {
var like = document.getElementById("like");
like.addEventListener('click', function (e) {
e.preventDefault();
if (!this.classList.contains('open'))
this.classList.add('open');
else
this.classList.remove('open');
});
}
Но если добавить ClassName то будет ошибка :
var like = document.getElementsByClassName("like");
Uncaught TypeError: like.addEventListener is not a function
Мне нужно именно класс, так как таких блоков несколько на странице( поэтому использую this)
Вопрос: как сделать, что бы я мог получать элемент по классу, а не ID?
Потому что getElementsByClassName возвращает коллекцию элементов, а у коллекции нет метода addEventListener
для решение можно просто пробежаться по возвращенной коллекции. например так:
[].forEach.call(like,function(el){
el.addEventListener('click', function (e) {...})
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
При клике на кнопку происходит загрузка файла на сервер в ответ я получаю
Как мне сделать animate и show асинхронными (Чтобы выполнялись одновременно) ? Пробовал делать так, но не работает
Нужно скрыть div с определнным id, полученным из localStorageЧто я делаю неправильно?