jQueryなどを使わずにボタンを押すと、コンテンツを入れ替える表現を実装しました。
一つ目の要素がデフォルトで表示されます。
ボタン1
ボタン2
ボタン3
contents1
contents2
contents3
HTMLはこちら
<div id="demo_tab_head">
<div class="demo_tab_btn act">ボタン1</div>
<div class="demo_tab_btn">ボタン2</div>
<div class="demo_tab_btn">ボタン3</div>
</div>
<div id="demo_tab_body">
<div class="demo_tab_content act">contents1</div>
<div class="demo_tab_content">contents2</div>
<div class="demo_tab_content">contents3</div>
</div>
JSはこちら
//classの要素の取得
const demo_class_items = document.getElementsByClassName('demo_tab_btn');
for(let i = 0; i < demo_class_items.length; i++){
//クリックイベント
demo_class_items[i].onclick = function(e){
clk_num = i+1;
//ボタンへclassの削除と追加
btn = document.querySelectorAll('.demo_tab_btn');
for(let ii = 0; ii < btn.length; ii++){
btn[ii].classList.remove('act');
}
document.querySelector('.demo_tab_btn:nth-child('+clk_num+')').classList.add('act');
//タブボディclassの削除と追加
cnt = document.querySelectorAll('.demo_tab_content');
for(let ii = 0; ii < cnt.length; ii++){
cnt[ii].classList.remove('act');
}
document.querySelector('.demo_tab_content:nth-child('+clk_num+')').classList.add('act');
}
}