例如使用attr()方法來(lái)獲取p元素的class,JQuery代碼如下:var
10余年專注成都網(wǎng)站制作,成都定制網(wǎng)站,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)站,高端網(wǎng)頁(yè)制作,對(duì)地磅秤等多個(gè)行業(yè),擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)。
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)?/p>
“myClass
high”,即myClass和high兩種樣式的疊加。JQuery提供了專門的addClass()方法來(lái)追加樣式。為了使例子更容易理解,首先在
style標(biāo)簽里添加另一組樣式:1
.high{
color:red;
}
2
.another{
font-style:italic;
color:blue;
}
然后在網(wǎng)頁(yè)中添加一個(gè)“追加class類”的按鈕,按鈕的事件代碼如下:1
$("#btn_3").click(function(){
2
$("#nm_p").addClass("another");
//
追加樣式
3
});
最后當(dāng)單擊“追加class類”按鈕時(shí),p元素樣式就會(huì)變?yōu)樾斌w,而先前的紅色字體也會(huì)變?yōu)樗{(lán)色。此時(shí)p元素同時(shí)擁有兩個(gè)class值,即"high"和"another"。在CSS中有以下兩條規(guī)定。1.如果給一個(gè)元素添加了多個(gè)class值,那么就相當(dāng)于合并了它們的樣式。
2.如果有不同的class設(shè)定了同一樣式屬性,則后者覆蓋前者。
在上例中,相當(dāng)于給p元素添加了如下樣式:1
color
:
red;
/*
字體顏色設(shè)置紅色*/
2
font-style:italic;
3
color:blue;
在以上的樣式中,存在兩個(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
//元素顯示
代碼③
3
},
function(){
4
//元素隱藏
代碼④
5
})
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的html()可以給現(xiàn)有元素附加新的元素。
直接在元素還未生成前就綁定肯定是無(wú)效的,因?yàn)樗壎ǖ脑啬壳案静淮嬖凇?/p>
所以我們可以通過live和livequery來(lái)動(dòng)態(tài)綁定事件,這種綁定方式對(duì)現(xiàn)有和新生成的元素都有效。
沒理解你的提問,你的重點(diǎn)是each還是操作動(dòng)態(tài)添加的DOM?
關(guān)于操作動(dòng)態(tài)添加的DOM,需要用delegate或on來(lái)進(jìn)行事件綁定,動(dòng)態(tài)添加的DOM元素也同樣綁定了該事件,原理就是事件代理,即事件冒泡。
div?class="container"
ul?class="list-wrap"
li?class="item"1/li
li?class="item"2/li
li?class="item"3/li???
/ul?????
/div
$('.container').delegate('.item','click',function(){
handler();//執(zhí)行函數(shù)
})
3. 如果必須用each來(lái)操作,可以使用自定義事件,當(dāng)添加新DOM之后,trigger('event_name')即可。在綁定自定義事件時(shí)的handler執(zhí)行函數(shù)邏輯中使用each即可。只有dom插入頁(yè)面后,才能獲取到該元素
新聞標(biāo)題:jquery動(dòng)態(tài)添加元素,jquery動(dòng)態(tài)添加元素 css樣式
文章源于:http://chinadenli.net/article24/dsicoce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、、域名注冊(cè)、建站公司、網(wǎng)站排名、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)