2013-12-19 2 views
0

li 요소의 인덱스를 받고 싶습니다. 내가 여러 사용자 입력을 트리거하고 클릭 된 요소의 클래스 이름과 색인에 따라 작업을 전달하기 때문에이 코드를 사용하고 있습니다. 하지만 인덱스 나갈 수 없습니다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> 
당신은 index()를 호출 한 후 이벤트 대상에 대한 jQuery를 래퍼 객체를 생성 할 필요가
+0

VAR TRG = e.target; – user2952265

+0

jQuery를 사용하여 확인하지 않는 이유는 무엇입니까? – epascarello

+0

'$ (document) .on'을 사용하십시오 [ '(body)'). ('click', 'li.button'function (e) {console.log ($ this .index();} Working Demo] (http://jsfiddle.net/L8csM/1/) – diEcho

답변

3

그 물체에 대해서

$('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()); 
}); 
관련 문제