2017-09-12 4 views
0

PLAIN JavaScriptを使用してアクティブなクラスにアクティブなクラスを追加するにはどうすればよいでしょうか? jQueryを使ってアクティブなクラスをJS(Jquery以外)で現在の要素に追加

あなたは典型的なを使用します。

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

しかし、JavaScriptが(ないバニラJS、jQueryの、など)を備えた

HERESに私のバイオリン:http://jsfiddle.net/meEf4/2065/

+0

querySelectorAllは、addEventListenerを、CLASSLIST – epascarello

+0

ループあなたは私を見ることができます

まず、すべての<a>タグにクリックハンドラを添付しますか?ありがとう! =) –

+0

@AngieRは私の答えをチェックします、それはあなたが必要とするものです。 –

答えて

1

最初activeクラスを持つ要素を取得することができます。 <a>にはactiveクラスが1つしかないため、[0]を使用して<a>要素に直接アクセスできます。今度は、activeクラスを置き換えてください。最後に、クリックされた<a>要素にactiveクラスを追加します。以下のように機能clickHandleを作成し、今

var elements = document.getElementsByTagName("a"); 
for (var i = 0; i < elements.length; i++) { 
    elements[i].addEventListener("click", 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

OK、私は自分の答えを編集しました。今すぐチェック –

関連する問題