之前咱們有須要用js或jquery的一些方法hasClass、addClass、removeClass,在一個元素的class屬性上添加或者刪除某幾個類,達到某種樣式變化的需求,但仍是稍微麻煩了一些。
h5新增的classList能夠讓咱們更方便的元素的類名進行操做。html
classList兼容性有些差,不兼容ie10如下的ie瀏覽器。jquery
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>classList</title> <style> .mystyle { width: 300px; height: 50px; background-color: red; color: white; font-size: 25px; } </style> </head> <body> <p>點擊按鈕爲DIV元素添加 "mystyle" 類。</p> <button onclick="myFunction()">點我</button> <div id="myDIV"> 我是一個 DIV 元素。 </div> <script> function myFunction() { document.getElementById("myDIV").classList.add("mystyle"); } </script> </body> </html>
使用add方法,你能夠往頁面元素是新增一個或多個類:瀏覽器
document.getElementById("myDIV").classList.add("mystyle");
使用remove方法,你能夠刪除單個CSS類:spa
document.getElementById("myDIV").classList.remove("mystyle");
在元素中切換類名。使用toggle方法,語法:toggle(class, true|false)
第一個參數爲要在元素中移除的類名,並返回 false。
若是該類名不存在則會在元素中添加類名,並返回 true。 code
第二個是可選參數,設置布爾值用於設置元素是否強制添加或移除類,無論該類名是否存在。例如:htm
移除一個ip
document.getElementById("myDIV").classList.toggle("classToRemove", false);
添加一個utf-8
document.getElementById("myDIV").classList.toggle("classToAdd", true);
注意: Internet Explorer 或 Opera 12 及其更早版本不支持第二個參數rem
使用contains方法,判斷某個類是否存在,返回布爾值。get
//returns true or false document.getElementById("myDIV").classList.contains("myDIV");