我正在寻找此jQuery代码的纯JavaScript替代品:

$().evt(function(){
    $('.class').removeClass('active');
    $(this).addClass('active');
})


这就是我正在尝试的方式

 node.addEventListener('contextmenu', function(e){
            e.preventDefault();
            var currentActive = document.querySelectorAll('.active');
            alert(currentActive.length);
            currentActive.className = '';
            this.className = 'active';
        });


小提琴:http://jsfiddle.net/toniweb/Wx8Jf/34/

但是当前活动类别不会被删除

最佳答案

尝试这个:

node.addEventListener('contextmenu', function(e){
            e.preventDefault();
            var currentActive = document.querySelectorAll('.active');
            for (var i = 0; i < currentActive.length; i++) {
                 currentActive[i].classList.remove('active');
            }
            this.className += ' active';
        });


这将从这些节点中仅删除active类。

10-05 21:23