JQuery中样式标签的处理
增加樣式標(biāo)簽
JQuery中增加樣式使用.addClass(className)方法
通過動(dòng)態(tài)改變類名(class),可以讓其修改元素呈現(xiàn)出不同的效果。在HTML結(jié)構(gòu)中里,多個(gè)class以空格分隔,當(dāng)一個(gè)節(jié)點(diǎn)(或稱為一個(gè)標(biāo)簽)含有多個(gè)class時(shí),DOM元素響應(yīng)的className屬性獲取的不是class名稱的數(shù)組,而是一個(gè)含有空格的字符串,這就使得多class操作變得很麻煩。同樣的jQuery開發(fā)者也考慮到這種情況,增加了一個(gè).addClass()方法,用于動(dòng)態(tài)增加class類名
.addClass( className )方法簡(jiǎn)介:
1..addClass( className ) : 為每個(gè)匹配元素所要增加的一個(gè)或多個(gè)樣式名
2..addClass( function(index, currentClass) ) : 這個(gè)函數(shù)返回一個(gè)或更多用空格隔開的要增加的樣式名
注意:
.addClass()方法不會(huì)替換一個(gè)樣式類名。它只是簡(jiǎn)單的添加一個(gè)樣式類名到元素上
簡(jiǎn)單的舉個(gè)栗子:在p元素增加一個(gè)newClass的樣式,處理如下:
<p class="orgClass"> $("p").addClass("newClass")那么p元素的class實(shí)際上是 class=”orgClass newClass”樣式只會(huì)在原本的類上繼續(xù)增加,通過空格分隔。
實(shí)練操作:
<!DOCTYPE html> <html><head><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><title></title><style>.left,.right {width: 300px;height: 120px;}.left div,.right div {width: 100px;height: 90px;padding: 5px;margin: 5px;float: left;border: 1px solid #ccc;}.newClass{background: #bbffaa;}.imoocClass{background: red;}</style><script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head><body><h2>.addClss()方法</h2><div class="left"><div class="aaron"><p>newClass</p></div><div class="aaron"><p>newClass</p></div></div><div class="right"><div class="aa bb imooc"><article><p>imoocClass</p></article></div><div class="bb cc imooc "><article><p>imoocClass</p></article></div></div><script type="text/javascript"> //class=left下div元素增加一個(gè)新的樣式,增加背景顏色$('.left div').addClass('newClass')</script><script type="text/javascript"> //通過className(fucntion)方法//這個(gè)函數(shù)返回一個(gè)或更多用空格隔開的要增加的樣式名。//接收index 參數(shù)表示元素在匹配集合中的索引位置和html 參數(shù)表示元素上原來的 HTML 內(nèi)容//找到所有的div,然后通過addClass設(shè)置顏色,根據(jù)返回的className的判斷,$("div").addClass(function(index,className) {//找到類名中包含了imooc的元素if(-1 !== className.indexOf('imooc')){//this指向匹配元素集合中的當(dāng)前元素$(this).addClass('imoocClass')}});</script></body></html>稍稍提及一下indexOf的用法:indexOf()是用來查找字符串的。str.indexof(string)的意思是在str中查找存在string出現(xiàn)的位置,從0開始。如果不存在則返回-1。
刪除樣式標(biāo)簽
jQuery通過.addClass()方法可以很便捷的增加樣式。如果需要樣式之間的切換,同樣jQuery提供了一個(gè)很方便的.removeClass(),它的作用是從匹配的元素中刪除全部或者指定的class
.removeClass( )方法簡(jiǎn)介:
1..removeClass( [className ] ):每個(gè)匹配元素移除的一個(gè)或多個(gè)用空格隔開的樣式名
2..removeClass( function(index, class) ) : 一個(gè)函數(shù),返回一個(gè)或多個(gè)將要被移除的樣式名
注意:
如果一個(gè)樣式類名作為一個(gè)參數(shù),只有這樣式類會(huì)被從匹配的元素集合中刪除 。 如果沒有樣式名作為參數(shù),那么所有的樣式類將被移除。
看例子:
<!DOCTYPE html> <html><head><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><title></title><style>.left,.right {width: 300px;height: 120px;}.left div,.right div {width: 100px;height: 90px;padding: 5px;margin: 5px;float: left;border: 1px solid #ccc;}.newClass{background: #bbffaa;}.imoocClass{background: red;}</style><script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head><body><h2>.removeClass()方法</h2><div class="left"><div class="aaron newClass"><p>newClass</p></div><div class="aaron newClass"><p>newClass</p></div></div><div class="right"><div class="aa bb imoocClass"><article><p>imoocClass</p></article></div><div><article><p>imoocClass</p></article></div></div><script type="text/javascript"> //class=left下div元素刪除newClass樣式$('.left div').removeClass('newClass')</script><script type="text/javascript"> //.removeClass() 方法允許我們指定一個(gè)函數(shù)作為參數(shù),返回將要被刪除的樣式$('.right > div:first').removeClass(function(index,className){//className = aa bb imoocClass//把div的className賦給下一個(gè)兄弟元素div上作為它的class$(this).next().addClass(className)//刪除自己本身的imoocClassreturn 'imoocClass'})</script></body></html>執(zhí)行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的JQuery中样式标签的处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JQuery中的 .val()
- 下一篇: 信用卡当前余额负数怎么办 信用卡的余额是