生活随笔
收集整理的這篇文章主要介紹了
JQuery 样式设置、追加、移除与切换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有了JQuery,元素的樣式操作會(huì)變得相當(dāng)簡(jiǎn)易。下面我們來(lái)看看如何使用JQuery來(lái)實(shí)現(xiàn)元素樣式的獲取、設(shè)置、追加、刪除以及其它一些操作。
獲取與設(shè)置樣式
獲取class和設(shè)置class都可以使用attr()方法來(lái)完成。例如使用attr()方法來(lái)獲取p元素的class,JQuery代碼如下:
| 1 | var?p_class = $("p").attr("class");?//獲取p元素的class |
使用attr()方法來(lái)設(shè)置p元素的class,JQuery代碼如下:
| 1 | $("p").attr("'class",?"high");??//設(shè)置p元素的class為 "high" |
在大多數(shù)情況下,它是將原來(lái)的class替換為新的class,而不是在原來(lái)的基礎(chǔ)上追加新的class。
追加樣式
什么是追加class呢?假如p元素原本的class為myClass,那么追加一個(gè)名叫high的class后,class屬性變?yōu)椤癿yClass high”,即myClass和high兩種樣式的疊加。JQuery提供了專門的addClass()方法來(lái)追加樣式。為了使例子更容易理解,首先在style標(biāo)簽里添加另一組樣式:
| 2 | .another{ font-style:italic; color:blue; } |
然后在網(wǎng)頁(yè)中添加一個(gè)“追加class類”的按鈕,按鈕的事件代碼如下:
| 1 | $("#btn_3").click(function(){ |
| 2 | ????$("#nm_p").addClass("another");?// 追加樣式 |
最后當(dāng)單擊“追加class類”按鈕時(shí),p元素樣式就會(huì)變?yōu)樾斌w,而先前的紅色字體也會(huì)變?yōu)樗{(lán)色。此時(shí)p元素同時(shí)擁有兩個(gè)class值,即"high"和"another"。在CSS中有以下兩條規(guī)定。
如果給一個(gè)元素添加了多個(gè)class值,那么就相當(dāng)于合并了它們的樣式。如果有不同的class設(shè)定了同一樣式屬性,則后者覆蓋前者。在上例中,相當(dāng)于給p元素添加了如下樣式:
| 1 | color : red;????????/* 字體顏色設(shè)置紅色*/? |
在以上的樣式中,存在兩個(gè)“color”屬性,而后面的“color”屬性會(huì)覆蓋前面的“color”屬性,因此最終的“color”屬性的值為“blue”,而不是“red”。
移除樣式
如果用戶單擊某個(gè)按鈕時(shí),要?jiǎng)h除class的某個(gè)值,那么可以使用與addClass()方法相反的removeClass()方法來(lái)完成,它的作用是從匹配的元素中刪除全部或者指定的class。例如可以使用如下的JQuery代碼來(lái)刪除p元素中值為“high”的class:
| 1 | $("p").removeClass("high");??//移除p元素中值為"high"的class |
如果要把p元素的兩個(gè)class都刪除,就要使用兩次removeClass()方法,代碼如下:
| 1 | $("p").removeClass("high").removeClass("another"); |
JQuery提供了更簡(jiǎn)單的方法。可以以空格的方式刪除多個(gè)class名,代碼如下:
| 1 | $("p").removeClass("high another"); |
另外,還可以利用removeClass()方法的一個(gè)特性來(lái)完成同樣的效果。當(dāng)它不帶參數(shù)時(shí),就會(huì)將class的值全部刪除,JQuery代碼如下:
| 1 | $("p").removeClass();??//移除p元素的所有class |
切換樣式
JQuery中有一個(gè)方法toggle(),JQuery代碼如下:
| 1 | toggleBtn.toggle(function(){?????? |
| 2 | ??????//元素顯示??? 代碼③?????? |
| 4 | ??????//元素隱藏??? 代碼④?????? |
toggle()方法此處的作用是交替執(zhí)行代碼③和代碼④兩個(gè)函數(shù),如果元素原來(lái)是顯示的,則隱藏它:如果元素原來(lái)是隱藏的,則顯示它。此時(shí),toggle()方法主要是控制行為上的重復(fù)切換。
另外JQuery還提供了一個(gè)toggleClass()方法控制樣式上的重復(fù)切換。如果類名存在則刪除它,如果類名不存在則添加它。例如對(duì)p元素進(jìn)行toggleClass()方法操作。
| 1 | $("p").toggleClass("another");??//重復(fù)切換類名“another” |
當(dāng)不斷單擊“切換樣式”按鈕時(shí),p元素的class的值就會(huì)在“myClass”和“myClass another”之間重復(fù)切換。
判斷是否含有某個(gè)樣式
hasClass()可以用來(lái)判斷元素中是甭含有某個(gè)class,如果有,則返回true,否則返回false。例如可以使用下面的代碼來(lái)判斷p元素中是否含有“another”的class:
| 1 | $("p").hasClass("another"); |
這個(gè)方法是為了增強(qiáng)代碼可讀性面產(chǎn)生的。在JQuery內(nèi)部實(shí)際上是調(diào)用了is()方法來(lái)完成這個(gè)功能的.該方法等價(jià)于如下代碼:
| 1 | $("p").is(".another");??//is("."+class); |
轉(zhuǎn)載于:https://www.cnblogs.com/zqn518/archive/2012/02/10/2345664.html
總結(jié)
以上是生活随笔為你收集整理的JQuery 样式设置、追加、移除与切换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。