使用 attr()
方法控制元素的屬性
attr()
方法的作用是設(shè)置或者返回元素的屬性侍咱,其中attr(屬性名)
格式是獲取元素屬性名的值,attr(屬性名涝滴,屬性值)
格式則是設(shè)置元素屬性名的值。
例如,使用attr(屬性名)
的格式獲取頁面中<a>
元素的 " href " 屬性值搬瑰,并將該值的內(nèi)容顯示在<span>
元素中,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出计福,通過attr()
方法可以方便地獲取元素中指定屬性名稱的內(nèi)容跌捆,并將獲取的內(nèi)容通過html()
方法顯示在頁面中。
操作元素的內(nèi)容
使用html()
和text()
方法操作元素的內(nèi)容象颖,當(dāng)兩個方法的參數(shù)為空時佩厚,表示獲取該元素的內(nèi)容,而如果方法中包含參數(shù)说订,則表示將參數(shù)值設(shè)置為元素內(nèi)容抄瓦。
例如,分別使用html()
和text()
方法獲取一個元素的內(nèi)容陶冷,并將獲取的內(nèi)容顯示在不同的<div>元素中钙姊,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,html()
方法可以獲取元素的 HTML 內(nèi)容埂伦,因此煞额,原文中的格式代碼也被一起獲取,而text()
方法只是獲取元素中的文本內(nèi)容沾谜,并不包含 HTML 格式代碼膊毁,所以它顯示的內(nèi)容并沒有變 " 歪 " 。
操作元素的樣式
通過addClass()
和css()
方法可以方便地操作元素中的樣式基跑,前者括號中的參數(shù)為增加元素的樣式名稱婚温,后者直接將樣式的屬性內(nèi)容寫在括號中。
例如媳否,使用addClass()
方法栅螟,改變<div>元素的背景色和文字顏色荆秦,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,通過addClass()
方法為<div>元素增加了兩個樣式名稱力图,從而改變了<div>元素的背景和文字顏色步绸,增加多個樣式名稱時,要用空格隔開搪哪。
css()
方法和addClass()
方法用法類似靡努,只是需要去設(shè)置具體樣式了。
移除屬性和樣式
使用removeAttr(name)
和removeClass(class)
分別可以實(shí)現(xiàn)移除元素的屬性和樣式的功能晓折,前者方法中參數(shù)表示移除屬性名惑朦,后者方法中參數(shù)則表示移除的樣式名
例如,使用removeAttr()
方法移除<a>
元素中的 " href " 屬性漓概,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出漾月,使用removeAttr()
方法移除元素的 " href " 屬性后,再次顯示元素的 " href " 屬性值時胃珍,則為空值梁肿,<a>
元素中的文字也丟失可點(diǎn)擊的效果。
使用 append() 方法向元素內(nèi)追加內(nèi)容
append(content)
方法的功能是向指定的元素中追加內(nèi)容觅彰,被追加的 content 參數(shù)吩蔑,可以是字符、HTML 元素標(biāo)記填抬,還可以是一個返回字符串內(nèi)容的函數(shù)烛芬。
例如,在頁面的<body>元素中追加一個具有 " id " 飒责、 " title " 屬性和顯示內(nèi)容的<div>元素赘娄,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,由于使用append()
方法在<body>元素中追加了一些 HTML 元素標(biāo)記宏蛉,因此追加后遣臼,這些元素標(biāo)記直接生成對應(yīng)的元素和屬性顯示在頁面中。
使用 appendTo() 方法向被選元素內(nèi)插入內(nèi)容
appendTo()
方法也可以向指定的元素內(nèi)插入內(nèi)容拾并,它的使用格式是:
$(content).appendTo(selector)
參數(shù) content 表示需要插入的內(nèi)容揍堰,參數(shù) selector 表示被選的元素,即把 content 內(nèi)容插入 selector 元素內(nèi)嗅义,默認(rèn)是在尾部个榕。
例如,使用appendTo()
方法芥喇,將<div>外的<span>
元素插入<div>內(nèi),如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出凰萨,使用appendTo()
方法將類別名為 " red " 的<span>
元素插入到<div>元素的尾部继控,相當(dāng)于追加的效果械馆。
使用 before() 和 after() 在元素前后插入內(nèi)容
使用before()
和after()
方法可以在元素的前后插入內(nèi)容,它們分別表示在整個元素的前面和后面插入指定的元素或內(nèi)容武通,調(diào)用格式分別為:
$(selector).before(content) 和 $(selector).after(content)
其中參數(shù)content表示插入的內(nèi)容霹崎,該內(nèi)容可以是元素或HTML字符串。
例如冶忱,調(diào)用before()方法在一個<span>
元素插入另一個<span>
元素尾菇,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用before()
方法將 HTML 格式的內(nèi)容插入到原有<span>
元素內(nèi)容之前囚枪,而并不僅是它的內(nèi)部文本派诬。
使用 clone() 方法復(fù)制元素
調(diào)用clone()
方法可以生成一個被選元素的副本,即復(fù)制了一個被選元素链沼,包含它的節(jié)點(diǎn)默赂、文本和屬性,它的調(diào)用格式為:
$(selector).clone()
其中參數(shù) selector 可以是一個元素或 HTML 內(nèi)容括勺。
例如缆八,使用clone()
方法復(fù)制頁面中的一個<span>
元素,并將復(fù)制后的元素追加到頁面的后面疾捍,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出奈辰,使用clone()
方法復(fù)制元素時,不僅復(fù)制了該元素的文本和節(jié)點(diǎn)乱豆,還將它的 " title " 屬性也一起復(fù)制過來了奖恰。
替換內(nèi)容
replaceWith()
和replaceAll()
方法都可以用于替換元素或元素中的內(nèi)容,但它們調(diào)用時咙鞍,內(nèi)容和被替換元素所在的位置不同房官,分別為如下所示:
$(selector).replaceWith(content) 和 $(content).replaceAll(selector)
參數(shù) selector 為被替換的元素,content 為替換的內(nèi)容续滋。
例如翰守,調(diào)用replaceWith()
方法將頁面中<span>
元素替換成一段HTML字符串,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出疲酌,使用replaceWith()
方法替換類別名為 " green " 的<span>
元素蜡峰,替換之后,舊元素完全由新替換的元素所取代朗恳。
使用 wrap() 和 wrapInner() 方法包裹元素和內(nèi)容
wrap()
和wrapInner()
方法都可以進(jìn)行元素的包裹湿颅,但前者用于包裹元素本身,后者則用于包裹元素中的內(nèi)容粥诫,它們的調(diào)用格式分別為:
$(selector).wrap(wrapper)和$(selector).wrapInner(wrapper)
參數(shù) selector 為被包裹的元素油航,wrapper 參數(shù)為包裹元素的格式。
例如怀浆,調(diào)用wrap()
方法谊囚,將<span>
用<div>元素包裹起來怕享,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,紅色區(qū)域的<span>
元素被藍(lán)色邊框的<div>元素通過wrap()
方法包裹起來镰踏。
使用 each() 方法遍歷元素
使用each()
方法可以遍歷指定的元素集合函筋,在遍歷時,通過回調(diào)函數(shù)返回遍歷元素的序列號奠伪,它的調(diào)用格式為:
$(selector).each(function(index))
參數(shù) function 為遍歷時的回調(diào)函數(shù)跌帐,index 為遍歷元素的序列號,它從 0 開始绊率。
例如谨敛,遍歷頁面中的<span>
元素,當(dāng)元素的序列號為 2 時即舌,添加名為 " focus " 的樣式佣盒,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,在使用each()
方法遍歷<span>
元素時顽聂,回調(diào)函數(shù)中的 " index " 參數(shù)為元素的序列號肥惭,它從 0 開始,當(dāng)為 2 時紊搪,表示第 3 個<span>
元素增加樣式蜜葱。
使用 remove() 和 empty() 方法刪除元素
remove()
方法刪除所選元素本身和子元素,該方法可以通過添加過濾參數(shù)指定需要刪除的某些元素耀石,而empty()
方法則只刪除所選元素的子元素牵囤。
例如,調(diào)用remove()
方法刪除<span>
元素中類別名為 " red " 的滞伟,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出揭鳞,使用remove( " .red " )
方法只是把<span>
元素中類別名為 " red " 的這部分元素給刪除了。