jQueryであれば、
$(function() {
$('.menu li a').on('click', function() {
$('.menu li a').removeClass('active');
$(this).addClass('active');
return false;
});
});
といった記述になり、クリックされた要素はthis
で特定できますが、JSの場合はクリックされた要素をどのように特定しているのかがわかりませんでした。
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
クラスがついてしまうと思ったのですが...
教えていただけますと幸いです。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?