Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取元素';来自event.target的s ID_Javascript_Jquery_Html - Fatal编程技术网

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。。。