• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryのeqで最後からn番目以降を指定したい)

jQueryのeqで最後からn番目以降を指定したい

このQ&Aのポイント
  • 画面読込時の処理上、「最後から2番目以降を先頭に追加」という処理をしたく、jQueryの”.eq()”で上手く表現できないでしょうか。
  • 最後からn番目を指定する場合は、.eq(-n)とあり、末端は-1となっていたので、.eq(-2)としましたが、上手くいきませんでした。
  • 上手くいかなかったので、仕方なく$li.eq(-2)と$li.eq(-1)をそれぞれ実行していますが、もっとシンプルな方法はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

A No1です。 >要素が先頭へ移動することは見受けられませんでした。。。 一応、fx27とie8で確認したのですが… 念のため、テストしたHTML全文を載せておきます。 こちらの環境では下の二つ(5番、6番)が先頭に行きます。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>test</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $("#hoge p:gt(-3)").prependTo("#hoge"); }); </script> </head> <body> <div id="hoge"> <p>1番目 <p>2番目 <p>3番目 <p>4番目 <p>5番目 <p>6番目 </div> </body> </html>

webama_fk
質問者

お礼

ソースまで書いて頂きありがとうございます。確認してみます。

webama_fk
質問者

補足

fujillin 様 どうやらjQueryのバージョンが低い(ver1.7を使用しておりました)ためのようでした。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

自分自身の順序を変更するので、jQueryの内部の処理によってはどうなるのか不明なところがありますが・・・ 手持ちのブラウザで試してみたところ、 $("#hoge p:gt(-3)").prependTo("#hoge"); <div id="hoge"> <p>1番目 <p>2番目 <p>3番目 <p>4番目 <p>5番目 <p>6番目 </div> でそれらしい結果になりますが、ちゃんと調べたわけではありませんので、ご自身で確認なさってください。

webama_fk
質問者

お礼

fujillin 様 回答ありがとうございます。 お教え頂きました手法でトライしましたが、要素が先頭へ移動することは見受けられませんでした。。。

関連するQ&A