我正在尝试使用$(this).id
获取按钮的ID,但它是未定义的。我究竟做错了什么?谢谢你的阅读。
编辑:来自jsFiddle的代码示例:
HTML
<button id='remove_button' type='button'>Remove</button>
的jQuery
$('#remove_button').mouseup(function(){
alert($(this).id);
});
答案 0 :(得分:8)
$(this)
为您提供对jQuery对象的引用。您可以像Mario所说的那样使用attr()函数,甚至可以这样做:
this.id
答案 1 :(得分:3)
$(this).attr('id');
:d
修改强>
虽然我的回答是正确的,但更好的方法就是 dana 。 所以,你应该接受 dana 回答而不是我的回答。
答案 2 :(得分:2)
您可以使用:
this.id // <== more efficient and faster
或
$(this).attr("id")
this
是一个DOM元素,您可以在 this MDC reference page 上看到,您可以使用DOM元素的id
属性来设置或获取该元素id
。
您可以通过包装它来this
创建一个jQuery对象:$(this)
。 $(this)
不是DOM元素,因此它没有id
属性。相反,您可以使用 .attr()
jQuery方法来获取由jQuery对象id
表示的DOM元素的$(this)
。
每当您可以直接使用本机DOM属性时,它比使用jQuery方法更快,因此this.id
比$(this).attr("id")
更有效。
<强> jsFiddle example 强>