【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
jQueryであれば、
$(function() { $('.menu li a').on('click', function() { $('.menu li a').removeClass('active'); $(this).addClass('active'); return false; }); });
といった記述になり、クリックされた要素はthisで特定できますが、JSの場合はクリックされた要素をどのように特定しているのかがわかりませんでした。
this
menuItems.forEach(clickedItem => { clickedItem.addEventListener('click', e => { e.preventDefault(); menuItems.forEach(item => { item.classList.remove('active'); }); clickedItem.classList.add('active'); }); });
forEachがmenuItemsの中の3つの要素1ずつに処理を行うのであれば clickedItem.classList.add('active');で3要素すべてにactiveクラスがついてしまうと思ったのですが... 教えていただけますと幸いです。
forEach
menuItems
clickedItem.classList.add('active');
active
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
jQueryであれば、
といった記述になり、クリックされた要素は
thisで特定できますが、JSの場合はクリックされた要素をどのように特定しているのかがわかりませんでした。forEachがmenuItemsの中の3つの要素1ずつに処理を行うのであればclickedItem.classList.add('active');で3要素すべてにactiveクラスがついてしまうと思ったのですが...教えていただけますと幸いです。