jQuery UI在拖放的div中获取元素的属性:

||
$(\'#drop_area\').droppable({
    accept: \'.draggable\',
    drop: on_element_drop
});

function on_element_drop(event, ui){

}

<div class=\"draggable\">
    <img src=\"test.png\" alt=\"3\">
</div>
我正在尝试找出如何从传递给\'on_element_drop的\'ui \'参数中的可拖动div中获取图像的\'alt \'属性。有人知道怎么做吗? 我似乎得到的最接近的是:
ui.helper.context.children[0].attr(\'alt\');
但是,这不起作用。     
已邀请:
        
ui.draggable.find(\"img\").attr(\"alt\")
http://jsfiddle.net/3SfBJ/2     
        您的可拖动div仅包含一个img元素。所以下面这是正确的
 ui.draggable.find(\"img\").attr(\"alt\")
                  OR
 ui.draggable.children(\"img\").attr(\"alt\")
但是如果您的可拖动对象包含更多的img元素,如下所示
<div class=\"draggable\">
    <img src=\"test.png\" alt=\"3\">
    <img src=\"test.png\" alt=\"4\">
</div>
那么您将无法使用较高的代码来查找第二个img元素的alt值。因此,您可以尝试以下操作:
ui.draggable.find(\"img:last-child\").attr(\"alt\")
                   OR
ui.draggable.children(\"img:last-child\").attr(\"alt\")
本示例显示了一个总体思路,即如何在父对象中找到实际对象。 您可以使用类来区分子对象。那是简单而有趣的。即
<div class=\"draggable\">
    <img class=\'first\' src=\"test.png\" alt=\"3\">
    <img class=\'second\' src=\"test.png\" alt=\"4\">
</div>
您可以按照以下步骤进行操作:
ui.draggable.find(\".first\").attr(\"alt\")
更具体为:
ui.draggable.find(\"img.first\").attr(\"alt\")
您可以使用上面的代码查找或子代。有关更多信息,请访问儿童http://api.jquery.com/children/并找到http://api.jquery.com/find/。     
        我认为您发布的内容还有更多的html和javascript吗?像可投放div一样? 您应该可以将此添加到您的放置处理程序中
ui.draggable.children(0).attr(\'alt\')
如果您添加了额外的html,则使用find也是可行的
ui.draggable.find(\'img\').attr(\'alt\');
祝好运!     

要回复问题请先登录注册