速報

プレステージで最大約550万件の情報持ち出し|ロードサービスは代替運用で継続

CATEGORY

【JavaScript】奇数・偶数番目の要素を判定してcalssを付加する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】奇数・偶数番目の要素を判定してcalssを付加する

目次

本記事では、JavaScriptで奇数・偶数番目の要素を判定してclassを付加する方法をご紹介しています。

JavaScriptで奇数・偶数番目の要素にclassを付けたいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

奇数・偶数を判定する

プログラミングで奇数・偶数を判定する方法の一つに剰余演算子(じょうよえんざんし)を使用した方法があります。剰余演算子は数値と数値を除算し、余った数値を返す演算子です。剰余演算子を計算に使用することで、2で除算を行った結果、あまりがあれば奇数、なければ偶数と判定することができます。

他にも奇数・偶数を判定する方法はありますが、本記事では剰余演算子を使って特定の数値が奇数であるか偶数であるかを判定し、処理に利用します。

奇数・偶数番目の要素を判定してcalssを付加する

奇数・偶数の判定方法については前項でご説明した通りです。classの付加にはclassListのadd()を使用します。付加するclassについては、奇数番目をodd、偶数番目をevenとします。

HTML

<ul id="list">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>

JavaScript

const addOddEvenClass = ()=>{

    //対象要素を取得(ここでは#listの子要素を取得)
    const listItem = document.querySelectorAll('#list li');

    //子要素の数だけ繰り返し処理
    Array.from(listItem).forEach((item, index) => {
        
        //indexは0から始まるためインクリメント
        index++;
        
        //indexの奇数・偶数を判定
        if((index % 2) === 0){
            //偶数番目の要素にclassを付加する
            item.classList.add('even');
        } else {
            //奇数番目の要素にclassを付加する
            item.classList.add('odd');
        }
    });
}
addOddEvenClass();

実行結果

<ul id="list">
    <li class="odd">1</li>
    <li class="even">2</li>
    <li class="odd">3</li>
    <li class="even">4</li>
    <li class="odd">5</li>
    <li class="even">6</li>
    <li class="odd">7</li>
    <li class="even">8</li>
    <li class="odd">9</li>
    <li class="even">10</li>
</ul>

これで奇数番目の要素にoddのclassを、偶数番目の要素にevenのclassを付加することができます。class属性の値は適宜変更してご利用ください。

スポンサーリンク

最後に

奇数・偶数番目の要素にスタイルを付けたい場合はCSSのnth-childが便利です。下記で詳しい使い方をご紹介していますので、あわせてご参照いただければ幸いです!

以上、JavaScriptで奇数・偶数番目の要素を判定してcalssを付加する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク