0

我有以下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>比如373231,这个<li>在我的里面的什么位置?我想要的回报是数字 5,因为他是我的第五个元素id<li><ul><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();
});
4

2 回答 2

3

您可以使用index(),它是从零开始的,因此您将0获得first元素等1second

现场演示

$('#373231').index()
于 2012-12-13T12:50:08.553 回答
1

jquery index()是你在这里需要的..

$(selector).index(). 

在你的情况下

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

已编辑

取索引ui.item

alert(ui.item.index());

她是小提琴

于 2012-12-13T12:55:23.603 回答