2013-12-19 2 views
0

Я хочу получить индекс элемента li. Я использую этот код, потому что я хочу запускать несколько пользовательских входов и выполнять действие в соответствии с именем и индексом элемента clicked. Но я не могу выйти индекс:Получить индекс элемента nav

code pen

JS

$('body').on('click', function(e){ 
     var trg = e.target; 
    if (trg.className.indexOf('button') > -1) { 

     console.log(trg.index()); 
    } 
}); 

HTML

<ul> 
<li class="button">0</li> 
    <li class="button">1</li> 
    <li class="button">2</li> 
</ul> 
+0

вар трг = e.target; – user2952265

+0

Причина, по которой вы не используете jQuery для проверки? '$ ('body'). on ('click', 'li.button' function (e) {console.log ($ (this) .index();}' – epascarello

+0

использовать '$ (document) .on' [ Рабочая демонстрация] (http://jsfiddle.net/L8csM/1/) – diEcho

ответ

3

Вам нужно создать объект-оболочку JQuery для цели события, а затем вызвать index() для этого объекта

$('body').on('click', function (e) { 
    var $target = $(e.target); 
    if ($target.hasClass('button')) { 
     console.log($target.index()); 
    } 
}); 
Смежные вопросы