jQuery UI 在放置时获取可拖动 div 中元素的属性:

发布于 2024-11-17 04:47:26 字数 417 浏览 3 评论 0原文

$('#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');

但这不起作用。

$('#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>

I'm trying to figure out how I can get the 'alt' property of the image in this draggable div from the 'ui' argument passed to 'on_element_drop.' Anyone know how to do this?

The closest I seem to get is:

ui.helper.context.children[0].attr('alt');

however this doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

秋凉 2024-11-24 04:47:26
ui.draggable.find("img").attr("alt")

http://jsfiddle.net/3SfBJ/2

ui.draggable.find("img").attr("alt")

http://jsfiddle.net/3SfBJ/2

谁与争疯 2024-11-24 04:47:26

您的可拖动 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")

您可以使用 find 或 Children 如上面的代码所示。有关更多信息,请访问儿童 http://api.jquery.com/children/ 并查找 http://api.jquery.com/find/

Your draggable div contain only one img element. So for this below is right

 ui.draggable.find("img").attr("alt")
                  OR
 ui.draggable.children("img").attr("alt")

But if your draggable contain more img element like below

<div class="draggable">
    <img src="test.png" alt="3">
    <img src="test.png" alt="4">
</div>

then you can't use upper code to find alt value of second img element. So you can try this:

ui.draggable.find("img:last-child").attr("alt")
                   OR
ui.draggable.children("img:last-child").attr("alt")

This example shows a general idea that how you can find actual object within parent object.
You can use classes to differentiate your child object. That is easy and fun. i.e.

<div class="draggable">
    <img class='first' src="test.png" alt="3">
    <img class='second' src="test.png" alt="4">
</div>

You can do this as below :

ui.draggable.find(".first").attr("alt")

and more specific as:

ui.draggable.find("img.first").attr("alt")

You can use find or children as above code. For more visit Children http://api.jquery.com/children/ and Find http://api.jquery.com/find/.

带上头具痛哭 2024-11-24 04:47:26

我假设有更多的 html 和 javascript 与您发布的内容相匹配?喜欢可放置的 div 吗?

您应该能够将其添加到您的放置处理程序中

ui.draggable.children(0).attr('alt')

,如果您添加额外的 html,那么使用 find 也可以工作

ui.draggable.find('img').attr('alt');

祝您好运!

I assume there is more html and javascript to go with what you have posted? Like the droppable div?

You should be able to add this to your drop handler

ui.draggable.children(0).attr('alt')

Using find works as well, if you add extra html

ui.draggable.find('img').attr('alt');

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文