我試圖通過添加一個CSS類(「clickedNav」類)來創建一個導航欄,其中您正在訪問的當前選項卡具有不同的背景顏色。我有一個循環遍歷並移除顏色(所以只有當前選項卡突出顯示),然後將顏色添加到單擊的鏈接。 現在,它正在成功添加類(clickedNav),但我的循環事先刪除它們並沒有刪除它們(我看到很多「HEYS」,但沒有「yup」)。以下是相關代碼:jQuery:遍歷CSS元素的每個元素
$('.navlink').click(function(e){
console.log("HEY");
var self = $(this);
$('.navlink').each(function(i) {
if($('.navlink').hasClass('.clickedNav')){
console.log("yup");
$('.navlink').removeClass('clickedNav');
}
});
$(this).addClass('clickedNav');
event.stopPropagation();
});
我在做什麼錯?
編輯:謝謝你的幫助。請參閱scrblndr3針對我發佈的代碼修復的響應,以及Pinpickle對更高效的解決方案的響應。
這仍然無法正常工作。在'.each()'循環中,在測試類時仍然引用整個'$('。navlink')'集合,您需要在循環內使用'$(this)'來測試當前項目。 –
@winterblood whoopsies – scrblnrd3
感謝scrblnrd3提供快速和翔實的響應!我改變了代碼,現在它工作的很好。 – Ber