勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

jQueryでHTMLの特定要素をループ時に逆順で処理する方法

  jQuery JavaScript

jQueryでリスト(li)タグ等の特定要素をeach()でループ処理する場合、当然ながら上から下の順に処理される。これを逆順として下から上の順に処理したい。以下に対応方法をメモ。

 

対応方法

ソースコード

<ul id="list">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</ul>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
//1->5の順に出力
$(`#list li`).each(function(index, value){
    console.log($(this).html());
});

//5->1の順に出力
$($(`#list li`).get().reverse()).each(function(index, value){
    console.log($(this).html());
});
</script>

解説等

get()で一旦配列化し、その配列をreverse()で逆順に並び替えたものをeach()でループ処理するという内容になる。

 

リファレンス

get()

https://api.jquery.com/get/

reverse()

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse

 - jQuery JavaScript

  関連記事

HTMLのカスタムデータ属性をjQueryで取得する際はキャッシュに注意する
HTMLのカスタムデータ属性をjQueryで取得する際はキャッシュに注意する

ASPを使用したサイトでHTMLのカスタムデータ属性を取得し色々処理したかったん ...

amazon等のECサイトによくにあるアイテムの満足度を星マークで送信・表示する方法
amazon等のECサイトによくにあるアイテムの満足度を星マークで送信・表示する方法

amazon等のECサイトによくにあるアイテムの満足度を星マークかつ5段階で送信 ...

FullCalendarでラベルごとに表示・非表示を切り替える方法
FullCalendarでラベルごとに表示・非表示を切り替える方法

Googleカレンダーだとページ左側にマイカレンダーというのがあり、その中に任意 ...

jQueryにて何らかの処理中にブラウザをロックする「Block UI」プラグインの利用方法
jQueryにて何らかの処理中にブラウザをロックする「Block UI」プラグインの利用方法

jQueryにて何らかの処理中、ユーザーによるクリックや入力等の動作を防ぎたかっ ...

JSやjQueryで動的に追加した要素に対して「slick」でスライダーを実行する方法
JSやjQueryで動的に追加した要素に対して「slick」でスライダーを実行する方法

外部サーバからAjax等で画像URLを取得したものをimgタグとしてページ内に描 ...