2011-08-12 54 views
1

這裏是HTML的主要部分:JQuery的:的.index()返回-1

<div id="table"> 
    <div class="table_item">asd</div> 
    <div class="table_item">asd</div> 
    <div class="table_item">asd</div> 
    </div> 

和JS(JQuery的):

$(document).ready(function() 
{ 
    $(".table_item").click(function() 
    { 
     alert($("#table").index($(this))); 
    }); 
}); 

點擊處理工作,但我總是得到-1從的.index 。

試圖簡單$(this).index();顯示相同的結果。

請幫忙!代碼有什麼問題?

回答

6

而是執行此操作:

$(document).ready(function() 
{ 
    var ti = $('.table_item'); 
    ti.click(function() 
    { 
     alert(ti.index(this)); 
    }); 
}); 

編輯:必須有人被刪除,這是正確的一個帖子,我覺得比我的代碼好一點上面:

$(document).ready(function() 
{ 
    $('.table_item').click(function() 
    { 
     alert($(this).index()); 
    }); 
}); 

工作實例兩種解決方案:http://jsfiddle.net/FishBasketGordo/rx5e7/

1

您需要在集合上調用index,在這種情況下divs與table_item

alert($(".table_item").index(this)); 
+0

哦,我明白了!謝謝! – DimG

1

由於要連接一個click()監聽到$(".table_item")類,則可以通過使用$(this)引用對象。

嘗試:

$(document).ready(function() 
{ 
    $(".table_item").click(function() 
    { 
     alert($(this).index()); 
    }); 
});