javascript - 使用纯 JavaScript 在元素之间移动类,而不使用 jQuery

标签 javascript

你能帮我用这个普通的js代码吗,因为我想将className“active”从一个项目移动到另一个项目,包括删除所有元素类并将其与this.item一起保留

function moveClass(){

  var item = document.getElementsByClassName('item');

  for(var i = 0 ; i < item.length ; i++){

    var items = item[i];

    items.onclick=function(){

    items.classList.remove('active');
    this.classList.add('active');

    }
  }

}

window.addEventListener('load',moveClass)

最佳答案

您可以使用 document.querySelector('.item.active') 查找当前事件项目,并从中删除 .active。然后,只需将事件分配给单击的项目( fiddle ):

function moveClass() {

    var items = document.getElementsByClassName('item');

    for (var i = 0; i < items.length; i++) {

        items[i].onclick = function () {
            var prevActive = document.querySelector('.item.active');

            prevActive !== null && prevActive.classList.remove('active');

            this.classList.add('active');
        }
    }

}

document.addEventListener('DOMContentLoaded', moveClass);

关于javascript - 使用纯 JavaScript 在元素之间移动类,而不使用 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32979044/

相关文章:

javascript - Canvas :开始路径和 moveTo 不起作用

javascript - D3 可视化 - 如何自动选择按钮

javascript - Node.js for 循环后的回调

javascript - 如何在多边形下方绘制多段线?

javascript - AngularJs 服务器端验证

javascript - 如何获取token并保存以供以后使用而不需要每次登录?

javascript - 单独定义服务和工厂时,Angular 不起作用

javascript - PHP Jquery 选项卡 : content loads into one tab's panel

javascript - 返回 promise 后无法从 Controller 更新 View

javascript - 在 ajax 请求中动态刷新和清除 JQuery 选择的插件