在JavaScript和JavaScript工具庫裡征戰多年,我經常有這樣的遐想:什麼時候現代浏覽器裡能提供一些輔助方法和類庫,替代那些JavaScript工具庫,比如jQuery,讓我們用浏覽器原生的方法替代它們。我知道浏覽器必定會向這個方向改進,但這個進化過程不會很迅速,而且各種浏覽器需要共同做這樣的革新,火狐浏覽器、谷歌浏覽器、特別是IE,只有當這些主流浏覽器都具備了這樣的功能,我們的願望才算真正的實現。好消息是,其中有一個這樣的功能已經被加入到了HTML5 API裡:classList。
在HTML5 API裡,頁面DOM裡的每個節點上都有一個classList對象,程序員可以使用裡面的方法新增、刪除、修改節點上的CSS類。使用classList,程序員還可以用它來判斷某個節點是否被賦予了某個CSS類。
Element.classList
這個classList對象裡有很多有用的方法:
XML/HTML Code復制內容到剪貼板正如你上面看到的,Element.classList類很小,但裡面的每個方法都很有用。
新增CSS類
使用add方法,你可以往頁面元素是新增一個或多個css類:
myDiv.classList.add('myCssClass');
刪除一個CSS類
使用remove方法,你可以刪除單個CSS類:
myDiv.classList.remove('myCssClass');
你可以在這個方法裡一次傳入多個類名,用空格分開,但執行的結果很有可能不是你預期的。
反轉CSS類的有無
myDiv.classList.toggle('myCssClass'); //現在是增加
myDiv.classList.toggle('myCssClass'); //現在是刪除
這個方法的作用就是,當myDiv元素上沒有這個CSS類時,它就新增這個CSS類;如果myDiv元素已經有了這個CSS類,它就是刪除它。就是反轉操作。
檢查是否含有某個CSS類
myDiv.classList.contains('myCssClass'); //returns true or false
目前所有的現代浏覽器(火狐浏覽器,谷歌浏覽器等)都支持這個classList類,所以,相信新型的javaScript類庫裡都會使用classList類來操作頁面CSS類,而不需像以前一樣去分析元素節點的class屬性!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。