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

В JQuery, как вы узнаете "eq" элемента того, что нажали?

Когда один из divs внутри 'uploadChoice' щелкнут, как я могу узнать, какой из них щелкнул? Можно ли каким-либо образом вернуть значение "eq"?

 <div id=uploadChoice>
     <div>Text</div>
     <div>Image</div<
    <div>Text & Image</div>
</div>



$("#uploadChoice div").click(function(){
    //insert code here! :)   
});
4b9b3361

Ответ 1

$('#uploadChoice div').click(function(event) {
  var index = $(this).index();
});

Ответ 2

Более простая альтернатива, которая не требует дублирования селектора, следующая

$('#uploadChoice div').click(function(event) {
  var index = $(this).prevAll().length;
});

Ответ 3

Вы также можете добавить селектора и передать "$ (this)" в качестве аргумента:

$(document).on('click', 'button.testbutton', function () {
  
  var index = $('div.example > div.xyz').find('button.testbutton').index($(this));

});

Ответ 4

Вы можете получить содержимое div с помощью

$("#uploadChoice div").click(function(){
    var choice = $(this).html;
}

И тогда просто сделайте оператор switch или некоторые вложенные ifs.

Лично, однако, я бы добавил идентификатор к каждому из div и просто проверил идентификатор элемента, который нажал.