###前提・実現したいこと
jQueryUIのDraggableを使用しています。
以下のソースコードのstop: function () {}
内に.each()
を設置しているのですが、stopの度に.each()
が動作するのはあまり良くないのではないか、と考えています。
そこで、stop: function () {}
の外に.each()
を設置しながらも、stop: function () {}
の中から変数$elm
を呼び出せるようにしたいのですが、可能でしょうか?
何卒よろしくお願い致します。
###該当のソースコード
javaScript
1$($element).each(function () { 2 $(this).draggable({ 3 drag: function () { 4 var $hogehoge = $('#hogehoge'); 5 }, 6 7 stop: function () { 8 $('#hoge').each(function () { 9 var $elm = $(this).children('.items'); 10 var $test = $(this).children('.items').data('aaa'); //追記部分 11 console.log($elm); //追記:eachでなくとも取得できる 12 console.log($test); //追記:data-aaa="10"のみ取得できる 13 }); 14 }, 15 }); 16});
html
1<section id="hoge"> 2 <div class="items" data-aaa="10">あああ</div> 3 <div class="items" data-aaa="20">いいい</div> 4 <div class="items" data-aaa="30">ううう</div> 5 <div class="items" data-aaa="40">えええ</div> 6 <div class="items" data-aaa="50">おおお</div> 7</section>
※data-aaaを追記いたしました。
###追記
masaya_ohashi様のご指摘の通り、$elm
の部分は.each()
でなくとも取得できましたが、その下にある.items
のdata-aaa
を取得しようとすると、はじめの行<div class="items" data-aaa="10">あああ</div>
のみ取得できる形となってしまいます。
そうではなく、すべての.items
のdata-aaa
を取得したい場合、どのようにすれば良いでしょうか。
回答1件
あなたの回答
tips
プレビュー