HTML5: element.classList API

 
element.classList 将会返回 element 的 class 信息

element.classList:

{
length: {number},
add: function(){},
remove: function(){},
toogle: function(){},
item: function(){},
contanis: function(){}
}


<div class="c1 c2 c3" id="ele"></div>

var ele =document.getElementById('ele');

ele.classList.add('c4');
ele.classList.remove('c2');
ele.classList.toggle('c3'); //移除 c3
ele.classList.toggle('c3'); //添加 c3
ele.classList.contains('c1') // true
ele.classList.contains('c5') // false

ele.classList.contains.itme(0) // c1

使用 toggle 时候,如果class不存在,则增加这个class

检测浏览器是否支持 classList:
'classList' in document.createElement('a') // true 为支持


浏览器支持状况:
Chrome 8+, Firefox 3.6+, Opera 11.5+ , IE 和 Safria 不支持


参考链接:
http://davidwalsh.name/classlist
https://developer.mozilla.org/en/DOM/element.classList
 
 
 
  1.  <p id="classListTest">Bacon ipsum dolor sit amet pancetta bresaola tenderloin, swine meatball tongue ham boudin t-bone ribeye jerky sausage. Pork loin cow shankle drumstick tri-tip, chicken venison strip steak.</p> 
  2.     <p id="status">Not Support :(</P> 
  3.     <p id="toggleClass">Toggle a class:  
  4.       <input type="button" value="big" /> 
  5.       <input type="button" value="bold" /> 
  6.       <input type="button" value="pink" /> 
  7.     </p> 
  8.  
  9.  
  10. <script> 
  11. // checkfor support 
  12.  
  13. var toggle = document.getElementById('toggleClass'), 
  14.     test = document.getElementById('classListTest'); 
  15.  
  16. if (toggle.classList) { 
  17.   var supported = document.getElementById('status'); 
  18.   supported.parentNode.removeChild(supported); 
  19.   // bit of event delegation otherwise we're binding to each input 
  20.   toggle.addEventListener('click', function (event) { 
  21.     if (event.target.nodeName == 'INPUT') { 
  22.       test.classList.toggle(event.target.value); 
  23.     } 
  24.   }, false); 
  25. } else { 
  26.   // not supported 
  27. </script>