我想请这个jquery ui代码解释一下

时间:2012-11-20 03:53:24

标签: jquery jquery-ui draggable

我正在阅读此代码(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可拖动,只有<li>可以拖动。

似乎只能拖动<li>内的#gallery,但使用$("#gallery li")$("#gallery > li")

可以轻松完成

那有什么不同?

2 个答案:

答案 0 :(得分:3)

$()函数的第二个参数是context。它相当于:

$gallery.find('li');

是的,在这种情况下,您也可以执行:$("#gallery li"),但context选项很好,当您刚刚传递DOM元素或jQuery对象时,并且不知道它的选择器

答案 1 :(得分:0)

根据jQuery文档:“$("> elem", context)选择器将在以后的版本中弃用。因此不鼓励使用它来代替使用其他选择器。”

当它被弃用时,他们可能会在Photo Manager中调整代码。我没有看到任何使用上的差异,它看起来只是“少jQuery”。