1

使用 jQuery,我如何结合$(this)$("li:eq(ui.item.index())")类似的东西$(this).$("li:eq(ui.item.index())").id

我正在尝试在使用 jQuery UI 工具包创建的可排序列表中获取列表元素的 id 属性

$(".sections-list").sortable({ /* Update position of sortable elements */
    start: function(event, ui) {
        var start   = ui.item.index();
        var section = $("li:eq(start)").id;

        alert(section);
    }
});
4

4 回答 4

7

假设您要做的是在li下面找到特定的索引项this,您可以这样做:

$(this).find("li").eq(ui.item.index()).attr("id")
于 2012-08-06T20:40:20.033 回答
5

您也可以this作为第二个参数传递给$(),指示搜索的上下文:

$('li:eq('+start+')',this).attr('id')
于 2012-08-06T20:43:10.543 回答
2

如果您要查找的元素是$(this)对象的后代,那么您可以使用 jQuery 的.find()函数。

$(this).find("li:eq("+ui.item.index()+")").id

如果您要查找的元素是其兄弟元素,$(this)那么您可以使用该.siblings()函数来查找它们 -

$(this).siblings("li:eq("+ui.item.index()+")").id

参考 -

于 2012-08-06T20:41:26.443 回答
1
$(this).find(selector);  

查找选择器获取您的初始 jquery 并在其中再次搜索。

在这里阅读更多信息:http: //api.jquery.com/find/

于 2012-08-06T20:41:03.470 回答