为什么我不能使用jQuery获取此按钮的ID?

时间:2010-10-01 23:35:38

标签: jquery

jsFiddle

我正在尝试使用$(this).id获取按钮的ID,但它是未定义的。我究竟做错了什么?谢谢你的阅读。

编辑:来自jsFiddle的代码示例:

HTML

<button id='remove_button' type='button'>Remove</button>​

的jQuery

$('#remove_button').mouseup(function(){
     alert($(this).id);
});​

3 个答案:

答案 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