2

このコード ( http://jqueryui.com/droppable/#photo-manager ) を読んでいましたが、特定の行を理解できませんでした

var $gallery = $( "#gallery" ),
    $trash = $( "#trash" ); 

$( "li", $gallery ).draggable({ //This is the line a I can't understand well
        cancel: "a.ui-icon", 
        revert: "invalid", 
        containment: "document",
        helper: "clone",
        cursor: "move"
});

なぜ $gallery がそこにあるのですか? $gallery をドラッグ可能にするのではなく、ドラッグ可能にするだけ<li>です。

ドラッグできるのは<li>内側だけのようですが、それはorで簡単にできます。#gallery$("#gallery li")$("#gallery > li")

では、何が違うのでしょうか?

4

2 に答える 2

3

$()関数の 2 番目の引数はcontext. それは以下と同等です:

$gallery.find('li');

はい、この場合、次のこともできます: $("#gallery li")、ただし、contextDOM 要素または jQuery オブジェクトを渡されたばかりで、そのセレクターがわからない場合は、このオプションが適しています。

于 2012-11-20T03:57:46.747 に答える
0

jQuery のドキュメントによると、「$("> elem", context)セレクターは将来のリリースで廃止される予定です。したがって、代替セレクターを使用する代わりに、その使用はお勧めできません。」

おそらく、Photo Manager が非推奨になったときに、コードを適応させるでしょう。使用方法に違いは見られません。単に「jQuery が少ない」ように見えます。

于 2012-11-20T04:07:10.567 に答える