Javascript 如何获取元素';来自event.target的s ID
考虑一段如下所示的代码:Javascript 如何获取元素';来自event.target的s ID,javascript,jquery,html,Javascript,Jquery,Html,考虑一段如下所示的代码: $('body').on('click', function(e){ }); 我知道有一种方法可以从e.target获取元素类型,即e.target.nodeName,但是如何从中获取该元素的id呢?如果不能做到这一点,是否有其他方法可以获取单击的元素的id 您可以使用e.target.id。e、 目标表示DOM对象,您可以访问它的所有属性和方法 $('body').on('click', function(e){ alert(e.target.id);
$('body').on('click', function(e){
});
我知道有一种方法可以从
e.target
获取元素类型,即e.target.nodeName
,但是如何从中获取该元素的id呢?如果不能做到这一点,是否有其他方法可以获取单击的元素的id 您可以使用e.target.id
。e、 目标表示DOM
对象,您可以访问它的所有属性和方法
$('body').on('click', function(e){
alert(e.target.id);
});
您可以使用jQuery函数jQuery(e.target)
或$(e.target)
将DOM对象转换为jQuery对象,以调用其上的jQuery函数。这可以通过以下方式完成:
$('body').on('click', function(e){
var id = $(this).attr('id');
alert(id);
});
$('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>`
});
$('body')。在('click','a',函数(e){//您可以用$(document)代替$(body)
e、 预防默认值();
警报($(this.attr('id'));//试试这个
$('body').on('click', '*', function() {
var id = $(this).attr('id');
console.log(id);
});
要在JavaScript中获取目标元素的属性,只需使用:
e.target.getAttribute('id');
另请参见:了解DOM属性及其属性之间的细微区别。注意,OP询问的是e.target
,这与this
不一定相同-尤其是当单击处理程序绑定到主体时。是的,尽管我的目标是找到从事件中获取元素id的方法;e、 target只是一个建议。如果this
是正确的元素,只需说this.id
,就不需要创建jQuery对象并调用.attr()
函数。this
似乎对我不起作用;$(this.attr('id'));
返回未定义的和此.id
不返回任何内容。我怀疑问题与我的原始注释相同:“this”是body元素,因为这是click处理程序附加到的,而body没有指定id。。。