javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)
javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)
<html> <head> <style type="text/css"> .div2{ font-size:16px; color:orange; } .div3{ font-size:20px; color:blue; } <style> <script type="text/javascript"> [1]直接把樣式賦值給className var odiv=document.getElementById('div1'); odiv.className= div3 //這樣我們會(huì)得到 class ="div3" 會(huì)直接把div2樣式給覆蓋掉; [2]使用累加賦值給className var odiv=document.getElementById('div1'); odiv.className+=" "+div3 //樣式和樣式之間需要空隙 ,所以加個(gè)空字符串隔開(kāi) //這樣可以得到 class="div2 div3" 可以正常增加,但是我們?cè)谔砑訕邮降臅r(shí)候我們得考慮下他本身之前有沒(méi)有同名的樣式,如果有我們添加的話就會(huì)變成累贅 比如class="div2 div3 div3"; [3]檢測(cè)樣式原先之前是否有相同的樣式 var odiv=document.getElementById('div1'); function hasClass(element,csName){ element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正則檢測(cè)是否有相同的樣式 } [4]在[3]的基礎(chǔ)上我們就可以進(jìn)行判斷性給元素添加樣式了 var odiv=document.getElementById('div1'); function hasClass(element,csName){ return element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正則檢測(cè)是否有相同的樣式 } function addClass(element,csName){ if(!hasClass(element,csName)){ element.className+=' '+csName; } addClass(odiv,'div3'); //這樣就可以靈活給元素添加樣式了; 【元素刪除指定樣式】 //同樣先進(jìn)行判斷,在進(jìn)行刪除 var odiv=document.getElementById('div1'); function hasClass(element,csName){ return element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正則檢測(cè)是否有相同的樣式 } function deleteClass(element,csName){ if(!hasClass(element,csName)){ element.className.replace(RegExp('(\\s|^)'+csName+'(\\s|$)'),' '); //利用正則捕獲到要?jiǎng)h除的樣式的名稱,然后把他替換成一個(gè)空白字符串,就相當(dāng)于刪除了 } deleteClass(odiv,div3); } </script> </head> <body> <div id="div1" class='div2'> 測(cè)試</div> </body> </html>
以上這篇javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- js中設(shè)置元素class的三種方法小結(jié)
- js獲取class的所有元素
- js獲取某元素的class里面的css屬性值代碼
- js通過(guò)元素class名字獲取元素集合的具體實(shí)現(xiàn)
- js選取多個(gè)或單個(gè)元素的實(shí)現(xiàn)代碼(用class)
- 基于原生js實(shí)現(xiàn)判斷元素是否有指定class名
- js 獲取class的元素的方法 以及創(chuàng)建方法getElementsByClassName
- javascript通過(guò)class來(lái)獲取元素實(shí)現(xiàn)代碼
- js如何根據(jù)class獲取元素并且點(diǎn)擊元素詳解
相關(guān)文章
JS實(shí)現(xiàn)屏蔽shift,Ctrl,alt等功能鍵的方法
這篇文章主要介紹了JS實(shí)現(xiàn)屏蔽shift,Ctrl,alt等功能鍵的方法,涉及javascript針對(duì)鍵盤按鍵的獲取與操作技巧,需要的朋友可以參考下2015-06-06js動(dòng)態(tài)添加onload、onresize、onscroll事件(另類方法)
window 的 onload、onresize、onscroll 事件,跟其他的事件不一樣,它不能用 attachEvent 或 addEventListener 來(lái)添加于是本人想了一些另類的方法,需要了解的朋友可以參考下2012-12-12完美解決手機(jī)網(wǎng)頁(yè)中輸入框被輸入法遮擋的問(wèn)題
下面小編就為大家分享一篇完美解決手機(jī)網(wǎng)頁(yè)中輸入框被輸入法遮擋的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12詳解webpack 打包文件體積過(guò)大解決方案(code splitting)
這篇文章主要介紹了webpack 打包文件體積過(guò)大解決方案(code splitting),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04javascript+css3 實(shí)現(xiàn)動(dòng)態(tài)按鈕菜單特效
這篇文章主要介紹了javascript+css3 實(shí)現(xiàn)動(dòng)態(tài)按鈕菜單特效的相關(guān)資料,需要的朋友可以參考下2016-02-02JS實(shí)現(xiàn)簡(jiǎn)單打磚塊彈球小游戲
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單打磚塊彈球小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05