1

$(this)jQuery を使用すると、 と$("li:eq(ui.item.index())")を次のように組み合わせるにはどうすればよい$(this).$("li:eq(ui.item.index())").idですか?

jQuery UI kit で作成されたソート可能なリスト内のリスト要素の 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の 2 番目の引数として$()、検索のコンテキストを示すこともできます。

$('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 に答える