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

このドラッグ可能なdivの画像の「alt」プロパティを「on_element_drop」に渡された「ui」引数から取得する方法を理解しようとしています。誰もがこれを行う方法を知っていますか?

私が得ているように見える最も近いものは次のとおりです。

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

ただし、これは機能しません。

4

3 に答える 3

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

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

于 2011-06-23T22:54:47.640 に答える
2

ドラッグ可能なdivには、img要素が1つだけ含まれています。したがって、これについては以下が正しいです

 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>

その場合、上位コードを使用して2番目の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を使用できます。詳細については、Childrenhttp ://api.jquery.com/children/およびFindhttp ://api.jquery.com/find/にアクセスしてください

于 2013-03-22T04:58:43.500 に答える
1

私はあなたが投稿したものに合うより多くのhtmlとjavascriptがあると思いますか?ドロップ可能なdivのように?

これをドロップハンドラーに追加できるはずです

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

htmlを追加すると、findの使用も機能します

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

幸運を!

于 2011-06-23T23:00:50.010 に答える