javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)
更新時(shí)間:2016年07月20日 10:34:03 投稿:jingxian
下面小編就為大家?guī)硪黄猨avaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
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è)空字符串隔開
//這樣可以得到 class="div2 div3" 可以正常增加,但是我們?cè)谔砑訕邮降臅r(shí)候我們得考慮下他本身之前有沒有同名的樣式,如果有我們添加的話就會(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通過元素class名字獲取元素集合的具體實(shí)現(xiàn)
- js選取多個(gè)或單個(gè)元素的實(shí)現(xiàn)代碼(用class)
- 基于原生js實(shí)現(xiàn)判斷元素是否有指定class名
- js 獲取class的元素的方法 以及創(chuàng)建方法getElementsByClassName
- javascript通過class來獲取元素實(shí)現(xiàn)代碼
- js如何根據(jù)class獲取元素并且點(diǎn)擊元素詳解
相關(guān)文章
使用Visual?Studio?2022開發(fā)前端的詳細(xì)教程
這篇文章主要介紹了使用Visual?Studio?2022開發(fā)前端,在瀏覽器中可以使用CDN源引用需要的客戶端庫(kù),可如果在企業(yè)內(nèi)網(wǎng)使用,無法訪問CDN源時(shí),需要將客戶端庫(kù)下載到本地使用,需要的朋友可以參考下2022-05-05
JavaScript如何從listbox里同時(shí)刪除多個(gè)項(xiàng)目
要從列表框同時(shí)刪除多個(gè)項(xiàng)目只能從下向上刪除,這樣就不會(huì)出現(xiàn)索引號(hào)亂變的問題了,下面有個(gè)不錯(cuò)的示例,大家可以感受下2013-10-10
js根據(jù)屬性刪除對(duì)象數(shù)組里的相應(yīng)對(duì)象
這篇文章主要介紹了js根據(jù)屬性刪除對(duì)象數(shù)組里的相應(yīng)對(duì)象,需要的朋友可以參考下2023-07-07
JS發(fā)起HTTP請(qǐng)求的多種方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了JavaScript發(fā)起HTTP請(qǐng)求的多種方式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11

