HTML5 DOM元素類名添加操作API classList簡介

熟知且常用的兩種給DOM元素添加類的操作就是原生js中的 className和jQuery中的addClass
實際上classList已經(jīng)出現(xiàn)很久,F(xiàn)irefox瀏覽器和Chrome瀏覽器都支持這個API;對于老油條IE,就僅僅對IE10以上的版本才能支持。手機端的話,發(fā)展至今,基本上除了老人機,一般都可以兼容。

classList API概要

舉個栗子:

<body class="a b c">
    <script type="text/javascript">
        console.log(document.body.classList);
    </script>
</body>

瀏覽器控制臺輸出結(jié)果:

控制臺輸出結(jié)果

再看其直接暴露的API:

暴露的api
  • length屬性,表示元素類名的個數(shù)。

  • item() 支持一個參數(shù),為類名的索引,返回值為對應(yīng)的類名,例如執(zhí)行:

    console.log(document.body.classList.item(0));
    

    則返回:a
    如若索引超出元素個數(shù)范圍,例如:

    console.log(document.body.classList.item(3));
    

    則返回:null

  • add() 支持一個或多個類名字符串參數(shù)。表示往類名列表中新增一個類名;如果之前類名存在,則添加忽略。例如:

    <body class="a b c">
        <script type="text/javascript">
            console.log(document.body.classList.add('d'));
            console.log(document.body.classList);
        </script>
    </body>
    

    輸出結(jié)果:

    add()返回的是undefined
  • remove() 支持一個類名字符串參數(shù)。表示往類名列表中移除該類名。例如:

    <body class="a b c">
      <script type="text/javascript">
          console.log(document.body.classList.remove('b'));
          console.log(document.body.classList);
      </script>
    

    輸出結(jié)果:

    remove()返回的是undefined
  • toggle() 支持一個類名字符串參數(shù)。若類名列表中有此類名,移除之,并返回false; 如果沒有,則添加該類名,并返回true。

還有等等等等等就不逐一介紹了。

注:忘了說了,原本add() 只支持添加一個類名字符串參數(shù),但是經(jīng)過時代的變遷,add()如今可以支持添加多個類名字符串。例如:

<body class="a b c">
    <script type="text/javascript">
        document.body.classList.add('d','e','f');
        console.log(document.body.classList);
    </script>
</body>

輸出結(jié)果:

當(dāng)!當(dāng)!!當(dāng)!!!當(dāng)!!!!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文 https://www.kancloud.cn/dennis/tgjavascript/241852 一、節(jié)...
    LuckyS007閱讀 893評論 0 0
  • 工廠模式類似于現(xiàn)實生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 8,118評論 2 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 元旦夜后巴扎聚餐后,藝術(shù)家觀看音樂人魏猛給大家表演重型死亡金屬。后巴扎是扎扎與楊青合開,經(jīng)營新疆與貴州菜,一年半載...
    陳博無關(guān)攝影閱讀 379評論 0 1
  • 廈門之行,幫助我完成了一個重要的心結(jié)。 前面一天的舊物倉的探店之旅,第二天是安排的滿滿的課程,在這個過程中,默默老...
    有趣的谷粒閱讀 334評論 5 1

友情鏈接更多精彩內(nèi)容