1

我有用于多个按钮的 jQuery 代码。我正在尝试获取按下的按钮的 ID,但我得到的只是“未定义”。我已经尝试了以下两种方法,但都给出了相同的结果。

我究竟做错了什么?

谢谢!

$(document).ready(function () {


    $("#btnSearch, #btnDirectorSearch, #btnEditorSearch, #btnViewableSearch").click(function () {

         alert($(this).id);
         alert(this.id);
     });

 });
4

5 回答 5

5

尝试使用attr

$(this).attr("id")
于 2013-04-23T19:47:16.337 回答
2

你需要这样做——

$(this).attr('id');
于 2013-04-23T19:47:26.610 回答
2

查看jQuery.attr()方法。

它可用于提取任何属性的值。

在您的情况下,您在 id 属性之后:

$(this).attr('id');

它还可以用于设置属性:

$(this).attr('id', 'funkyId');

每当您有问题时,最好的办法是直接查看 jQuery 文档(非常好)。

当我用谷歌搜索“ jquery get id ”时,我被直接带到了上面的链接。

于 2013-04-23T19:48:22.420 回答
1

当单击处理程序执行时,jQuery 已确保设置this为触发事件的 DOM 元素。这意味着您可以使用

alert(this.id)

访问id属性。这是因为id属性是这样暴露的——不涉及 jQuery。

你也可以选择使用jQuery 的attr方法来代替:

alert($(this).attr("id"))

这样,您可以从 构造一个 jQuery 对象this,然后继续attr对该对象使用该方法。请注意,它$(this)没有id属性。

于 2014-04-13T10:31:26.520 回答
1

你可以从

$(document).ready(function () {
$("#btnSearch, #btnDirectorSearch, #btnEditorSearch, #btnViewableSearch").click(function () {
alert ($(this).attr("id"));
} );
});

于 2013-04-23T20:17:55.460 回答