2013-12-19 22 views
0

我想要接收li元素的索引。我使用這段代碼,因爲我想觸發幾個用戶輸入,並根據點擊元素的類名和索引提供一個操作。但我不能走出指數:接收導航元素的索引

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

變種TRG = e.target; – user2952265

+0

你不使用jQuery做檢查的原因是什麼? ('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()); 
    } 
}); 
1
Working Fiddle

$('body').on('click', '.button', function (e) { 
    alert($(this).index()); 
});