Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

Как получить id элемента с определенным классом по которому кликнули?

Вопрос 1: Нагуглил 2 варианта получения данных элементов по которым кликнули, какой из них лучше использовать?

// этот?
document.addEventListener('click', function(e) {
	console.log(e.target.id);
});
// или этот?
document.onclick = function(e) {
	console.log(e.target.id);
};
// Ваш вариант?

Пробую получать данные элемента, по которому кликнули:

// получаю id элемента (если он конечно имеется)
document.addEventListener('click', function(e) {
	console.log(e.target.id);
});

// пробую получить id того элемента, у которого имеется класс 'test'

// синтаксическая ошибка...
document.getElementsByClassName('test').addEventListener('click', function(e) {
	console.log(e.target.id);
});
// работает только с первым элементом...
document.querySelector('.test').addEventListener('click', function(e) {
	console.log(e.target.id);
});

Вопрос 2: Как правильно получать id элемента лишь с определенным классом, по которому кликнули?
  • Вопрос задан
  • 460 просмотров
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Если я понял вопрос, то я бы так сделал
document.addEventListener('click', function(e) {
  if (e.target.classList.contains('test')) {
    console.log(e.target.id);
  }
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Если изначально правильно повесить обработчик на элемент, то при выполнении обработчика искать этот элемент не нужно, его дескриптор будет находится в свойстве e.target дескриптора события.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы