Как получить идентификатор элемента из event.target
Рассмотрим фрагмент кода, который выглядит следующим образом:
$('body').on('click', function(e){
});
Я знаю, что есть способ получить тип элемента из e.target
, т.е. e.target.nodeName
, но как я могу получить идентификатор этого элемента из этого? Если это невозможно сделать, есть ли другой способ получить идентификатор элемента, на который был нажат?
Ответы
Ответ 1
Вы можете использовать e.target.id
. e.target представляет объект DOM
, и вы можете получить доступ ко всем его свойствам и методам.
$('body').on('click', function(e){
alert(e.target.id);
});
Вы можете преобразовать объект DOM в объект jQuery с помощью функции jQuery jQuery(e.target)
или $(e.target)
для вызова функций jQuery на нем.
Ответ 2
$('body').on('click', function(e){
var id = $(this).attr('id');
alert(id);
});
Ответ 3
Это можно сделать:
$('body').on('click', 'a', function (e) {//you can do $(document) instead $(body)
e.preventDefault();
alert($(this).attr('id'));//<--this will find you the each id of `<a>`
});
Ответ 4
попробуйте это
$('body').on('click', '*', function() {
var id = $(this).attr('id');
console.log(id);
});
Ответ 5
Чтобы получить атрибут целевого элемента в JavaScript, вы просто используете:
e.target.getAttribute('id');