JQuery實(shí)現(xiàn)樣式設(shè)置、追加、移除與切換的方法
本文實(shí)例講述了JQuery實(shí)現(xiàn)樣式設(shè)置、追加、移除與切換的方法。分享給大家供大家參考。具體分析如下:
有了JQuery,元素的樣式操作會變得相當(dāng)簡易。下面我們來看看如何使用JQuery來實(shí)現(xiàn)元素樣式的獲取、設(shè)置、追加、刪除以及其它一些操作。
獲取與設(shè)置樣式
獲取class和設(shè)置class都可以使用attr()方法來完成。例如使用attr()方法來獲取p元素的class,JQuery代碼如下:
var p_class = $("p").attr("class"); //獲取p元素的class
使用attr()方法來設(shè)置p元素的class,JQuery代碼如下:
$("p").attr("'class", "high"); //設(shè)置p元素的class為 "high"
在大多數(shù)情況下,它是將原來的class替換為新的class,而不是在原來的基礎(chǔ)上追加新的class。
追加樣式
什么是追加class呢?假如p元素原本的class為myClass,那么追加一個名叫high的class后,class屬性變?yōu)椤癿yClass high”,即myClass和high兩種樣式的疊加。JQuery提供了專門的addClass()方法來追加樣式。為了使例子更容易理解,首先在style標(biāo)簽里添加另一組樣式:
.high{ color:red; } .another{ font-style:italic; color:blue; }
然后在網(wǎng)頁中添加一個“追加class類”的按鈕,按鈕的事件代碼如下:
$("#btn_3").click(function(){ $("#nm_p").addClass("another"); // 追加樣式 });
最后當(dāng)單擊“追加class類”按鈕時,p元素樣式就會變?yōu)樾斌w,而先前的紅色字體也會變?yōu)樗{(lán)色。此時p元素同時擁有兩個class值,即"high"和"another"。在CSS中有以下兩條規(guī)定。
1. 如果給一個元素添加了多個class值,那么就相當(dāng)于合并了它們的樣式。
2. 如果有不同的class設(shè)定了同一樣式屬性,則后者覆蓋前者。
在上例中,相當(dāng)于給p元素添加了如下樣式:
color : red; /* 字體顏色設(shè)置紅色*/ font-style:italic; color:blue;
在以上的樣式中,存在兩個“color”屬性,而后面的“color”屬性會覆蓋前面的“color”屬性,因此最終的“color”屬性的值為“blue”,而不是“red”。
移除樣式
如果用戶單擊某個按鈕時,要刪除class的某個值,那么可以使用與addClass()方法相反的removeClass()方法來完成,它的作用是從匹配的元素中刪除全部或者指定的class。例如可以使用如下的JQuery代碼來刪除p元素中值為“high”的class:
$("p").removeClass("high"); //移除p元素中值為"high"的class
如果要把p元素的兩個class都刪除,就要使用兩次removeClass()方法,代碼如下:
JQuery提供了更簡單的方法??梢砸钥崭竦姆绞絼h除多個class名,代碼如下:
另外,還可以利用removeClass()方法的一個特性來完成同樣的效果。當(dāng)它不帶參數(shù)時,就會將class的值全部刪除,JQuery代碼如下:
$("p").removeClass(); //移除p元素的所有class
切換樣式
JQuery中有一個方法toggle(),JQuery代碼如下:
toggleBtn.toggle(function(){ //元素顯示 代碼③ }, function(){ //元素隱藏 代碼④ })
toggle()方法此處的作用是交替執(zhí)行代碼③和代碼④兩個函數(shù),如果元素原來是顯示的,則隱藏它:如果元素原來是隱藏的,則顯示它。此時,toggle()方法主要是控制行為上的重復(fù)切換。
另外JQuery還提供了一個toggleClass()方法控制樣式上的重復(fù)切換。如果類名存在則刪除它,如果類名不存在則添加它。例如對p元素進(jìn)行toggleClass()方法操作。
$("p").toggleClass("another"); //重復(fù)切換類名“another”
當(dāng)不斷單擊“切換樣式”按鈕時,p元素的class的值就會在“myClass”和“myClass another”之間重復(fù)切換。
判斷是否含有某個樣式
hasClass()可以用來判斷元素中是甭含有某個class,如果有,則返回true,否則返回false。例如可以使用下面的代碼來判斷p元素中是否含有“another”的class:
這個方法是為了增強(qiáng)代碼可讀性面產(chǎn)生的。在JQuery內(nèi)部實(shí)際上是調(diào)用了is()方法來完成這個功能的.該方法等價于如下代碼:
希望本文所述對大家的jQuery程序設(shè)計有所幫助。
相關(guān)文章
通過實(shí)例解析jQ Ajax操作相關(guān)原理
這篇文章主要介紹了通過實(shí)例解析jQ Ajax操作相關(guān)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09基于Jquery的$.cookie()實(shí)現(xiàn)跨越頁面tabs導(dǎo)航實(shí)現(xiàn)代碼
基于Jquery的$.cookie()實(shí)現(xiàn)跨越頁面tabs導(dǎo)航實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-03-03Validform+layer實(shí)現(xiàn)漂亮的表單驗(yàn)證特效
創(chuàng)建一個JavaScript表單驗(yàn)證插件,可以說是一個繁瑣的過程,涉及到初期設(shè)計、開發(fā)與測試等等環(huán)節(jié)。實(shí)際上一個優(yōu)秀的程序員不僅是技術(shù)高手,也應(yīng)該是善假于外物的。本文就給大家結(jié)合2款優(yōu)秀的插件來實(shí)現(xiàn)這個問題,有需要的小伙伴可以參考下2016-01-01jQuery實(shí)現(xiàn)MSN中文網(wǎng)滑動Tab菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)MSN中文網(wǎng)滑動Tab菜單效果代碼,基于jQuery鼠標(biāo)事件實(shí)現(xiàn)頁面元素屬性動態(tài)切換的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09jquery實(shí)現(xiàn)動態(tài)改變css樣式的方法分析
這篇文章主要介紹了jquery實(shí)現(xiàn)動態(tài)改變css樣式的方法,結(jié)合實(shí)例形式分析了jQuery動態(tài)操作css樣式的設(shè)置、獲取及應(yīng)用等相關(guān)操作技巧,需要的朋友可以參考下2019-05-05JQuery Ajax動態(tài)加載Table數(shù)據(jù)的實(shí)例講解
今天小編就為大家分享一篇JQuery Ajax動態(tài)加載Table數(shù)據(jù)的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08