【jQuery】特定クラスがリストの何番目にあるかを取得!

この記事は約3分で読めます。
広告

リストの特定クラスが何番目にあるのかの取得方法をご紹介。

var number = $('.sample').index('ul li');

「$(‘.sample’)」に番号を取得したい特定のクラスやIDを書いて、「.index(‘ul li’)」には、特定クラスが含まれるリストを書きます。
押されたリスト番号を取得する「.index(this)」と書き方が似ているので覚えやすかったり、こんがらがったするね。
実際に使ってみたデモを用意していますので、リストをポチポチしながら取得している様子を確認してください。

DEMO

  • HOME
  • 利用方法
  • 料金
  • お問い合わせ

0番目にsampleクラスが付いています。

デモのソースも貼っておきますので、理解の参考になれば嬉しいです。

HTML

<div class="demo">
  <ul>
    <li class="sample">HOME</li>
    <li>利用方法</li>
    <li>料金</li>
    <li>お問い合わせ</li>
  </ul>
  <p><span class="num">0</span>番目にsampleクラスが付いています。</p>
</div>

CSS

.demo ul {
  width: 100%;
  height: 72px;
  margin: 0;
  padding: 0;
  box-shadow: 0 16px 24px -22px rgba(0,0,0,.4);
  text-align: center;
}
.demo ul li {
  list-style: none;
  display: inline-block;
  margin: 0;
  padding: 20px 0;
  width: 115px;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  transition: .3s;
}
.sample {
  color: #03c6b9;
  font-weight: bold;
  border-bottom: 2px solid #03c6b9;
  cursor: default !important;
}
.demo > p {
  margin: 40px auto;
  text-align: center;
  font-size: 20px;
}
.num {
  color: #03c6b9;
  font-weight: bold;
  margin-right: 4px;
}

jQuery

$('.demo li').on('click', function () {
  $(".demo li").removeClass("sample");
  $(".demo li").eq($(".demo li").index(this)).addClass("sample");
  var index = $('.sample').index('.demo ul li'); // sampleクラスが付いているindex番号を取得。
  $(".num").text(index);
});
エンデ・バタローをフォローする
javascriptjQueryサイト制作

埼玉県北本市に越してきて2年と少しになります。以前は東京都の京王線沿線に、その前は神戸の三宮、さらにその前は名古屋の八事霊園近くに住んでいました。

怖い話が大好きで、ネット怪談、ホラー小説、心霊Youtuber(オウマガドキch、ゾゾゾ)を寝る前のお供にしてます。

フロントエンドエンジニアとして9年目のキャリアを積んでおり、figma、Illustrator、Photoshop、WordPress、HTML、CSS(scss)、JavaScript(jQuery)、PHPなど使って日々仕事をしています。

仕事で検索する手間を省くためフロントエンド技術に関するブログを書いています。

エンデ・バタローをフォローする
広告
初めてのブログ

コメント

タイトルとURLをコピーしました