JQuery: .index() returns -1

JQuery: .index() returns -1

本文关键字:returns index JQuery      更新时间:2023-09-26

html的主要部分:

    <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();显示相同的结果。

请帮忙!代码有什么问题?

改为:

$(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/

您需要在集合上调用index,在本例中,div类为table_item

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

由于您将click()侦听器附加到$(".table_item"),因此您可以通过使用$(this)引用该对象。

试题:

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