Подтвердить что ты не робот

Как получить идентификатор элемента, нажатого с помощью 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?

4b9b3361

Ответ 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() для будущей совместимости