Jquery: получить идентификатор из селектора классов
Есть ли способ, которым я могу получить идентификатор элемента из чего-то вроде:
<a href="#" class="test" id="test_1">Some text</a>
<a href="#" class="test" id="test_2">Some text</a>
<a href="#" class="test" id="test_3">Some text</a>
а потом я связываю
$ ( 'Тест')
поэтому, когда я нажимаю на один из элементов, я получаю идентификатор?
Ответы
Ответ 1
Дох.. Если я правильно понимаю, это должно быть так просто, как:
$('.test').click(function() {
console.log(this.id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" class="test" id="test_1">Some text</a>
<a href="#" class="test" id="test_2">Some text</a>
<a href="#" class="test" id="test_3">Some text</a>
Ответ 2
Используйте метод "attr" в jquery.
$('.test').click(function(){
var id = $(this).attr('id');
});
Ответ 3
Когда вы добавляете событие click, this
возвращает элемент, который был нажат. Поэтому вы можете просто использовать this.id
;
$(".test").click(function(){
alert(this.id);
});
Пример: http://jsfiddle.net/jonathon/rfbrp/
Ответ 4
Начиная с jQuery 1.6, вы могли бы (и некоторые сказали бы, должны) использовать .prop вместо. атр
$('.test').click(function(){
alert($(this).prop('id'));
});
Это обсуждается далее в этом посте: .prop() vs.attr()
Ответ 5
Будьте осторожны, если вы используете функции стрелки жира, поскольку вы получите undefined для this.id
Прошло 10 минут сегодня, интересно, что, черт возьми, происходит.
Ответ 6
$(".class").click(function(){
alert($(this).attr('id'));
});
только при нажатии кнопки jquery, мы можем сделать этот класс, который должен быть там написан
Ответ 7
Ничто из этих примеров не работает для меня
for (var i = 0; i < res.results.length; i++) {
$('#list_tags').append('<li class="dd-item" id="'+ res.results[i].id + '"><div class="dd-handle root-group">' + res.results[i].name + '</div></li>');
}
$('.dd-item').click(function () {
console.log($(this).attr('id'));
});