要素の順番を入れ替える処理について質問です。
html
1 <div class="item text-item"> 2 <p style="margin: 0px;">テキスト1</p> 3 <ul class="editpager clearfix unvisible"> 4 <li class="first-order">一番上へ</li> 5 <li class="minus-order">上へ</li> 6 <li class="plus-order">下へ</li> 7 <li class="last-order">一番下へ</li> 8 </ul> 9 </div> 10 <div class="item text-item"> 11 <p style="margin: 0px;">テキスト2</p> 12 <ul class="editpager clearfix unvisible"> 13 <li class="first-order">一番上へ</li> 14 <li class="minus-order">上へ</li> 15 <li class="plus-order">下へ</li> 16 <li class="last-order">一番下へ</li> 17 </ul> 18 </div> 19 <div class="item text-item"> 20 <p style="margin: 0px;">テキスト3</p> 21 <ul class="editpager clearfix unvisible"> 22 <li class="first-order">一番上へ</li> 23 <li class="minus-order">上へ</li> 24 <li class="plus-order">下へ</li> 25 <li class="last-order">一番下へ</li> 26 </ul> 27 </div>
上記のp要素(テキスト1,2,3)を、一番上(下)へ、上(下)への四種類をクリックすると要素が任意の順に入れ替わるコードを書きたいのです。
【考えた方法】
四種類のli要素のclass名がテキスト1,2,3下でそれぞれ同じなので、クリックしたli要素の親要素を取得して順を入れ替えるのが最適かと思いました(p要素のテキスト1,2,3いずれかの、子要素のいずれかをクリックしたとき、そのクリックした要素の親要素がテキスト1,2,3のどれなのかを特定、取得する、という意)。
【考えたコード】
一番下へ、がクリックされた際のコードです。
現在は.last-orderがクリックされた際、どの要素内なのかを特定、取得する処理まで書きました。
javascript
1$('.last-order').click(function(){ 2 var i = $(this).parent().find("p"); 3});
しかしこのコードではどうやらp要素を変数iに格納できていないようなのです。
console.log(i)でコンソールでiの中身を確認したのですが、よくわからず、HTML内にdiv要素を作ってテキストで出力しようと試みるも、Object objectと出力されました(テキスト1(,2,3)が出力されると予想したのですが)。
エラーも出ないので、どの箇所が問題なのかを教えてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。