原生JS實現(xiàn)JQuery的addClass和removeClass

  • 今天在做按鈕時,需要給按鈕做一個按下去的效果叔收,想著用增加一個class替換背景顏色的方法去做齿穗,但是才發(fā)現(xiàn)不知道在原生JS中,如何用類似的方法像JQuery里面一樣饺律,直接用addClass和removeClass直接操作DOM的類窃页。

  • 百度了一下才發(fā)現(xiàn)原來用classList屬性可以很方便地對class進行操作

例子:

document.getElementById("vipemail").classList.add("btn-active");

這段的含義就是將“btn-active”這個類添加到ID為vipemail的標簽中
同理

document.getElementById("vipemail").classList.remove("btn-active");

意思就是去掉ID為vipemail的標簽中的“btn-active”類
當然,classList不僅僅只有這兩種用法复濒,下面順帶介紹一下classList的常用方法

classList

  • 語法

  • element.classList
  • 屬性

  • length(作用:顯示元素中有多少個類名)
    例如:
<div id="myDIV" class="a b c"></div>

document.getElementById("myDIV").classList.length;

輸出的結果是3脖卖。

  • 方法

  • classList(作用:輸出元素的類名列表)
    例子:
<div id="myDIV" class="a b c"></div>
var x = document.getElementById("myDIV").classList;

x的輸出結果為:a b c

  • add(class1,class2)(作用:在元素中添加一個或多個類名)
    注意:如果指定的類名已經(jīng)存在,則不會添加
    例子:
document.getElementById("myDIV").classList.add("btn-active");
  • contains(class)(作用:判斷指定的類名是否存在巧颈,返回布爾值)
    例子:
<div id = "myDIV" class = "btn-active">

document.getElementById("myDIV").classList.contains("btn-active")

返回的結果為true

document.getElementById("myDIV").classList.contains("btn")

返回的結果為false

  • item(index)(作用:返回類名在元素中的索引值畦木。索引值從0開始)
    例子:
<div id="myDIV" class="a b c"></div>
document.getElementById("myDIV").classList.item(0)

返回的結果是a

  • remove(作用:移除元素中一個或多個類名)
    注意:若移除不存在的類名,不會報錯
    例子:
document.getElementById("myDIV").classList.remove("btn-active");

最后附上classList的參考教程
classList | 菜鳥教程

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末砸泛,一起剝皮案震驚了整個濱河市十籍,隨后出現(xiàn)的幾起案子蛆封,更是在濱河造成了極大的恐慌,老刑警劉巖勾栗,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惨篱,死亡現(xiàn)場離奇詭異,居然都是意外死亡围俘,警方通過查閱死者的電腦和手機妒蛇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來楷拳,“玉大人,你說我怎么就攤上這事吏奸』兑荆” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵奋蔚,是天一觀的道長她混。 經(jīng)常有香客問我,道長泊碑,這世上最難降的妖魔是什么坤按? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮馒过,結果婚禮上臭脓,老公的妹妹穿的比我還像新娘。我一直安慰自己腹忽,他們只是感情好来累,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窘奏,像睡著了一般嘹锁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上着裹,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天领猾,我揣著相機與錄音,去河邊找鬼骇扇。 笑死摔竿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的匠题。 我是一名探鬼主播拯坟,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼韭山!你這毒婦竟也來了郁季?” 一聲冷哼從身側(cè)響起冷溃,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梦裂,沒想到半個月后似枕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡年柠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年凿歼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冗恨。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡答憔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掀抹,到底是詐尸還是另有隱情虐拓,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布傲武,位于F島的核電站蓉驹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏揪利。R本人自食惡果不足惜态兴,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疟位。 院中可真熱鬧瞻润,春花似錦、人聲如沸甜刻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽罢吃。三九已至楚午,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尿招,已是汗流浹背矾柜。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留就谜,地道東北人怪蔑。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像丧荐,于是被迫代替她去往敵國和親缆瓣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • //------------------------- 第一章 認識JQuery ----------------...
    米塔塔閱讀 718評論 0 9
  • 題目1: dom對象的innerText和innerHTML有什么區(qū)別虹统? innerText返回的是元素內(nèi)包含的文...
    Feiyu_有貓病閱讀 375評論 0 0
  • 基本介紹 文檔對象模型 (DOM) 是HTML和XML文檔的編程接口弓坞。它給文檔(結構樹)提供了一個結構化的表述并且...
    草鞋弟閱讀 436評論 0 0
  • 我們首先要明白隧甚,我們給頁面添加效果用到的js到底是什么?js其實包含三部分:dom 文檔對象模型 bom 瀏覽...
    一直以來都很好閱讀 803評論 0 0
  • 作家廖一梅說過一句話,“在我們的一生中族吻,遇到愛帽借、遇到性,都不稀罕超歌,稀罕的是遇到了解砍艾。” 我們一生尋找真愛巍举,不過就是...
    菬你這么說閱讀 322評論 1 5