0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

data-属性を有効活用!簡単・便利なタブメニュー

Last updated at Posted at 2021-03-19

#はじめに
クリックしたボタンに応じて表示が変わるタブメニューのコードを紹介します。
JabaScriptを学習し始めた方にもおすすめです!

#コード

See the Pen JjbQqmp by Ryuji Watanabe (@ryuji0526) on CodePen.

#ポイント
このタブメニューのポイントは、押したボタンと表示するアイテムとの連携です。
以下のように行います。

index.html
      <!-- 10行目 -->
      <ul class="menu">
         <!--「data-」属性で、アイテムと同じid名を設定 -->
        <li><a href="#"  data-id="menuId1">menu1</a></li>
        <li><a href="#"  data-id="menuId2">menu2</a></li>
        <li><a href="#" data-id="menuId3">menu3</a></li>
      </ul>

      <section class="content" id="menuId1">
        メニュー①です。
      </section>
      <section class="content" id="menuId2">
        メニュー②です。
      </section>
      <section class="content" id="menuId3">
        メニュー③です。
      </section>

 

main.js

      //22行目
    //data-idの値と同じ値のidを持つ要素をdatasetプロパティで取得し、selectクラスを追加
      let currentMenu = document.getElementById(clickedItem.dataset.id)
      currentMenu.classList.add('select');

JSのdatasetプロパティを通して、data属性で指定した値を取得することができます。
これによって、押したボタンと表示するアイテムとを連携させることができます!

#おわりに
data属性はHTML要素に独自の追加情報を格納することができます!
JSと組み合わせることで、使い道が格段に増えると思うので、ぜひ使ってみてください!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?