2017-09-12 25 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

好吧,我已编辑我的答案。现在检查 –

相关问题