我怎样才能知道特定元素的位置

时间:2012-12-13 12:48:53

标签: jquery

我有以下HTML

HTML

<ul id="sortable" class="ui-sortable">
    <li id="369833" class="ui-state-default">
    <li id="372915" class="ui-state-default">
    <li id="276520" class="ui-state-default" style="">
    <li id="373229" class="ui-state-default">
    <li id="373231" class="ui-state-default">
    <li id="373253" class="ui-state-default">
</ul>

我可以对<li>元素进行排序,但我需要知道我排序的特定<li>的位置。

为例

如果我放入我的控制台$("#sortable").find("li").size(),我会在<li>中返回<ul>的数字,在这种情况下为6。但是,我怎么能知道<li><li> 373231一样id的位置,<li>位于<ul>内?我想要的回报是数字5,因为他是我<li>

中的第五个<ul>元素

更新

我的功能

$(function () {
    $("#sortable").sortable({
        stop: function (event, ui) {
            debugger;

            // Getting a WRONG Position
            alert($(this).index());
        }
    });

    $("#sortable").on("sortstop", function (event, ui) {       

        // Getting a WRONG Position                         
        alert($(this).index());
    });

    $("#sortable").disableSelection();
});

2 个答案:

答案 0 :(得分:3)

您可以使用 index() ,它基于零,因此0元素为first1second等等。

<强> Live Demo

$('#373231').index()

答案 1 :(得分:1)

jquery index()就是你需要的......

$(selector).index(). 

在你的情况下

$('#369833').index(). //will give u 0
$('#372915').index(). //will give u 1

<强> EDITED

ui.item

的索引
alert(ui.item.index());

她的是fiddle