2017-09-12 54 views
0

使用PLAIN JavaScript將活動類添加到「活動/當前」元素的最佳方式是什麼?使用JS(不是Jquery)將活動類添加到當前元素

使用jQuery你可以使用典型:

$(selector).on('click', function(){ 
    $(selector).removeClass('active'); 
    $(this).addClass('active'); 
}); 

但使用JavaScript(不香草JS,jQuery的,等等)?

我的繼承人小提琴:http://jsfiddle.net/meEf4/2065/

+0

querySelectorAll循環的addEventListener,班級名冊 – epascarello

+0

你能告訴我嗎?謝謝!與一個小提琴?=) –

+0

@AngieR檢查我的答案,這正是你需要 –

回答

1

你可以先拿到有active類的元素。由於只有一個<a>active類,因此您可以使用[0]直接訪問<a>元素。現在替換,active類將不會有文字。最後,將active類添加到點擊的<a>元素。

首先附加一個單擊處理所有<a>標籤:

var elements = document.getElementsByTagName("a"); 
for (var i = 0; i < elements.length; i++) { 
    elements[i].addEventListener("click", clickHandle); 
} 

現在,下面創建一個函數clickHandle

function clickHandle(event) { 
     var anchor = document.getElementsByClassName("active"); 
     anchor[0].className = anchor[0].className.replace(/active/g, ""); 

     event.target.className += "active"; 
    } 
+0

但現在你正在使用jQuery ..除了方法 –

+1

好吧,我已編輯我的答案。現在檢查 –

相關問題