jQuery在使用“this”单击页面时获取元素ID不起作用
jquery get element id when click on page using 'this' does not work
我想在用户单击页面上时获取页面上任何元素的 id。 这里有几篇帖子显示使用"this"有效,但我的代码不适用于"this"。 返回的 id 未定义。 但我使用"事件"技术并且有效。
有人可以解释一下差异吗?
$(function(){
//document or 'body' tags both don't work
$('body').click(function(){
//var id = event.target.id;
var id=$(this).attr('id');
alert (id);
//returned undefined
});
});
此代码有效
$(function(){
$('body').click(function(event){
var id = event.target.id;
//var id=$(this).attr('id');
alert (id);
});});
使用以下函数,变量id
将引用body
元素的id
本身。
$('body').click(function() {
var id = $(this).attr('id');
alert(id); // Will alert "undefined" if the <body> tag has no id
});
使用如下所示的不同函数实际上通过使用 event.target
来执行您想要的,这是在 body
元素中实际单击的元素:
$('body').click(function(event) {
var id = event.target.id;
alert(id); // Will alert the id if the element has one
});
因此,简而言之:event.target
是单击的元素,$(this)
将引用<body>
标签。
第一个是获取 body 元素 id,而第二个是获取接收 click 事件的 body 中元素的 id
相关文章:
- 如何在jQuery中获取元素的形式
- 通过id和class属性获取元素
- Javascript:Can't使用getElementById获取元素
- 使用jquery.html()获取元素本身的html
- 如何从iframe内部获取元素
- Javascript函数获取元素内容
- 使用模板后,使用Angular获取元素属性值
- 获取元素类名的部分
- 从JSON.parse获取元素
- 获取元素内部的缩写
- 在不引用文档的情况下使用AngularJS获取元素
- 如何获取元素's的title属性
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- Javascript获取元素背景图像,但消除了“;url()”;
- Javascript:按类获取元素,但跳过某个类
- 当display:none时,getElementById()无法获取元素
- 我的ID获取元素不起作用
- 如何获取元素:使用javascript和CORS悬停背景
- 能够获取元素长度,但不能获取内部 HTML
- 如何使用jQuery在模板kendo UI中获取元素类