Ответ 1
Вы можете использовать this
для доступа к текущему элементу, а затем this.id
предоставит вам id
текущего элемента.
$('.myButton').click(function() {
alert(this.id);
});
У меня есть несколько кодов 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
});
Но то, что я должен сделать, зависит от текущего идентификатора элемента.
Мой вопрос в том, как определить, какой элемент называется этой функцией? Мне нужно знать его идентификатор.
Вы можете использовать this
для доступа к текущему элементу, а затем this.id
предоставит вам id
текущего элемента.
$('.myButton').click(function() {
alert(this.id);
});
Если вы хотите сохранить контекст jquery, вы можете использовать этот фрагмент:
$('.myButton').click(function() {
alert($(this).attr('id'));
});
Таким образом, вы немного более гибкие.
Посмотри на это. Вы можете просто использовать метод attr(), чтобы получить идентификатор элемента clicked при привязке обратного вызова click к элементу EVERY с классом.myButton.
С jQuery я нашел, что это работает:
$(this).prop('id')
this
в обработчике события - это элемент, который был нажат:
$('.myButton').click(function() {
if (this.id === "btn1") {
...
}
});