dom.classList

今天逛贴吧无意中发现classList的新属性,
classList是className的升级版,
问:classList的给我们带来的什么?
答:1:我们可以方便的实现对Dom的class属性进行操作(增加,修改,删除)了;
2:添加此节点已经存在的类名会自动过滤

具体代码如下:

js 代码:
window.onload=function () {   
   var tDom=document.getElementById("testD"); 
   if(tDom.className==tDom.classList.toString()){        
        console.log(JSON.stringify(tDom.classList)); 
    }    
  var _domClassList=tDom.classList;  
      _domClassList.adds("d2 d3 d2 d4");
   //添加多个属性自己扩展!
   //此时dom渲染的class值并已经改变; 
   console.log(_domClassList.contains("d"));//true 是否存在d 类名;    
   _domClassList.remove("d"); //删除   
   console.log(_domClassList.item(1));//获取
  //** if visible is set remove it, otherwise add it
  _domClassList.toggle("visible");
};
<!--扩展一个adds 一次可以添加多个class 不会添加已经存在的类-->
DOMTokenList.prototype.adds = function(tokens) {   
       tokens.split(" ").forEach(function(token) {  
          this.add(token);   
       }.bind(this));  
        return this;
};

html:
<div id="testD" class="a b c">hello! classList</div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义和用法: classList 属性返回元素的类名,作为 DOMTokenList 对象。该属性用于在元素中添加...
    路口师傅阅读 3,547评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,292评论 19 139
  • Element对象对应网页的HTML标签元素。每一个HTML标签元素,在DOM树上都会转化成一个Element节点...
    周花花啊阅读 4,733评论 0 0
  • 基本介绍 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且...
    草鞋弟阅读 3,335评论 0 0
  • 四年前的我曾经信心满满,对生活对未来充满了希望。渐渐的,风云来了,即便是在大雨滂沱的时候,我都不曾放弃过自己的梦想...
    阳光明媚的一天阅读 3,621评论 0 1