1

我有一些代表按钮的 DIV,所有按钮的 ID 结构如下:

Button_<id>

例子:

Button_54

有没有办法将点击侦听器附加到所有按钮并在侦听器中获取其 ID?我想出了以下解决方案,但我认为这不是这样做的方法......你有什么建议吗?

$('[id$="Button_"]').click(function() {
    var id = $(this).attr('id');
    var ButtonID = id.substring(id.lastIndexOf("Button_"));
    //.
    //. Do somthing which requires the ID
    //. of this button, for instance an AJAX request
    //.
});
4

2 回答 2

1

是的,有可能。



    $('[id^="button_"]').click(function() {
        var id = $(this).attr('id');
        var ButtonID = id.split('_')[1];
        alert(ButtonID);
    });

jsfiddle

于 2012-09-16T12:02:03.563 回答
1

您正在使用 Attribute Ends With 选择器,它不会选择您的元素,您应该改用 Attribute Starts With 选择器:

$('[id^="Button_"]').click(function() {
    var num = this.id.match(/\d+/g).join(''); // 54
    // ....

});
于 2012-09-16T12:10:24.993 回答