Как получить идентификатор элемента, нажатого с помощью jQuery
<div class="main_div">
<div id="inner_div">
<span id="d1" class="get_clicked">click to get id</span>
</div>
</div>
Как получить идентификатор элемента clicked? Пролет, который присутствует внутри inner_div, будет иметь разные идентификаторы, потому что я буду загружать диапазон из модели (MVC) с помощью jquery ajax. Таким образом, будет число "n". Весь диапазон будет иметь уникальный идентификатор. Я хочу получить идентификатор пролета, который я нажимаю.
Как получить идентификатор диапазона при нажатии? Как это сделать с помощью jQuery?
Ответы
Ответ 1
обновлять при динамическом загрузке содержимого, чтобы вы использовали.
$(document).on('click', 'span', function () {
alert(this.id);
});
старый код
$('span').click(function(){
alert(this.id);
});
или вы можете использовать .on
$('span').on('click', function () {
alert(this.id);
});
this
относится к текущему элементу диапазона, нажатому
this.id
даст id
текущего диапазона нажата
Ответ 2
Поскольку вы загружаетесь в прокрутки через ajax, вам придется прикрепить обработчики делегатов к событиям, чтобы их поймать, когда они пузырятся.
$(document).on('click','span',function(e){
console.log(e.target.id)
})
вам нужно будет прикрепить событие к ближайшему статическому члену, чтобы повысить эффективность.
$('#main_div').on('click','span',function(e){
console.log(e.target.id)
})
лучше, чем привязка к документу, например.
Этот вопрос может помочь вам понять
Direct vs. Delegated - jQuery.on()
Ответ 3
Я хотел поделиться тем, как вы можете использовать это, чтобы изменить атрибут кнопки, потому что мне потребовалось некоторое время, чтобы понять это...
Например, чтобы изменить фон на желтый:
$("#"+String(this.id)).css("background-color","yellow");
Ответ 4
Вы можете получить идентификатор щелчка по этому коду
$("span").on("click",function(e){
console.log(e.target.Id);
});
Использовать событие .on()
для будущей совместимости