前言:
?
?? 组内分享会上自己分享过,一直没有扔到博客里面,classList的api还是很有用的。
?
?
正文:
?
1、摘要:
?
??classList returns a token list of the class attribute of the element.
?
??返回的是元素的一个class 属性的标志的list
?
?
<div id="test" class="red blue"></div>?
?
?
- add?? ? ? ? -----?给元素添加一个指定的class
?? 类似我以前写的addClass ---?http://zhangyaochun.iteye.com/blog/1456980
var test = document.getElementById('test'); test.classList.add('yellow');?
- remove?? -----?从元素中删除一个指定的class
?? ?类似我以前写的removeClass --- ?http://zhangyaochun.iteye.com/blog/1457888
var test = document.getElementById('test'); test.classList.remove('red');?
- toggle?? ? ----如果元素没有指定的class则执行add操作|反之执行remove操作
var test = document.getElementById('test'); test.classList.toggle('yellow')?
- contains??----检测元素是否含有指定的class
?? ? 类似我以前写的hasClass ---http://zhangyaochun.iteye.com/blog/1458543
var test = document.getElementById('test'); test.classList.contains('red'); //return true | false?
?
?
2、浏览器支持情况
?
?
- Chrome 8+
- FF 3.6+
- Opera 11.50+
- Safari 5.1+
?
?
?? ?其实比较下来对于支持classList的高级浏览器,还是预判断然后调用原生的api,当然对于不支持的还是沿用原来的那些操作类的api。
?
?
?
//判断的方式 var supportClassList = ("classList" in document.createElement("a"));?
?
?
?
?
?
?
扩展阅读:
?
1、https://developer.mozilla.org/en/DOM/element.classList