Как определить текущий идентификатор элемента в jQuery?

У меня есть несколько кодов HTML:

<input type="button" id="btn1" class="myButton" value="Button 1"/>
<input type="button" id="btn2" class="myButton" value="Button 2"/>

Мне нужно запустить функцию jQuery всякий раз, когда пользователь нажимает каждую кнопку, и мне нужно сделать это, используя свой класс.

$('.myButton').click(function() {
   // do something
});

Но то, что я должен сделать, зависит от текущего идентификатора элемента.

Мой вопрос в том, как определить, какой элемент называется этой функцией? Мне нужно знать его идентификатор.

Ответ 1

Вы можете использовать this для доступа к текущему элементу, а затем this.id предоставит вам id текущего элемента.

$('.myButton').click(function() {
    alert(this.id);
});

Ответ 2

Если вы хотите сохранить контекст jquery, вы можете использовать этот фрагмент:

$('.myButton').click(function() {
    alert($(this).attr('id'));
});

Таким образом, вы немного более гибкие.

Ответ 3

Посмотри на это. Вы можете просто использовать метод attr(), чтобы получить идентификатор элемента clicked при привязке обратного вызова click к элементу EVERY с классом.myButton.

Ответ 4

С jQuery я нашел, что это работает:

$(this).prop('id')

Ответ 5

this в обработчике события - это элемент, который был нажат:

$('.myButton').click(function() {

   if (this.id === "btn1") {
       ...
   }    

});