やりたかったこととしては、「ある要素を、いまの順番そのままで前にもってくる」、って感じなんですが、
eachとprependだと6,5,4という風に逆になってしまい..。
eachを逆にまわす?方法をみつけ、なんとかできた感じです。
getで通常の配列にし、それをreverseメソッドで逆にして、eachでまわす、ということらしいです。すごい。
もっとスマートなやり方があるんでしょうか..?
See the Pen eachを逆からまわす by takapen (@takapen) on CodePen.
html
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
js
$(function(){ $('.sample01-li').each(function(){ if( $(this).hasClass('test') ) { $('.sample01-ul').prepend($(this)); } }) }); $(function(){ $($('.sample02-li').get().reverse()).each(function(){ if( $(this).hasClass('test') ) { $('.sample02-ul').prepend($(this)); } }) });
参考
■[Javascript]jQueryのeachメソッドの逆
http://d.hatena.ne.jp/mtoyoshi/20081114/1226673571