原生js添加事件,添加类名,删除类名

下面是一段鼠标移上为当前元素添加类名,并删除其他兄弟节点的类名的代码

//要添加效果的元素
var classObj = document.getElementsByClassName('sec3-item');
//循环元素并添加事件
  for(i=0;i<classObj.length;i++){ 
    classObj[i].addEventListener('mouseenter', function($el){
      //其他节点删除act类
      siblingsRomoveClassAct($el.target, 'act')
      //当前节点添加act类名
      $el.target.className += ' act';
    },true)
  }

  function siblingsRomoveClassAct($el, className){
    var nodeList = $el.parentNode.children; //父级的子节点
    for(var i=0; i<nodeList.length; i++){
      //判断是否元素节点 且不是本身  移除要删除的类
      if(nodeList[i].nodeType == 1 && nodeList[i] != $el) {
        var reg = new RegExp('(\\s|^)' + className + '(\\s|$)');
        nodeList[i].className = nodeList[i].className.replace(reg, ' ');  //移除要删除的类
      }
    }
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 事件是什么,可以用来做什么,什么时候用到它? 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。JavaScr...
    茂茂爱吃鱼阅读 1,545评论 0 16
  • 事件流 Click Me 冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标的顺序触发。触发的顺序是:di...
    醋留香阅读 832评论 0 1
  • 主要内容 事件 ​ 事件 (Event) 是 JavaScript 应用跳动的心脏 ,进行交互,使网页动起来。当我...
    xyx清风暖阳阅读 257评论 0 0
  • JS事件、Bom对象和Dom对象 主要内容 事件 ​ 事件 (Event) 是 JavaScript 应用跳动...
    yy666777阅读 268评论 0 0
  • DOM DOM查询 通过domcument对象获取元素节点:getElementById("id"):通过id属性...
    hellomyshadow阅读 358评论 0 0