使用attr()方法控制元素的屬性
attr()
方法的作用是設置或者返回元素的屬性,其中attr(屬性名)
格式是獲取元素屬性名的值,attr(屬性名,屬性值)
格式則是設置元素屬性名的值。
例如,使用attr(屬性名)
的格式獲取頁面中<a>元素的“href”屬性值,并將該值的內容顯示在<span>元素中,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,通過attr()
方法可以方便地獲取元素中指定屬性名稱的內容,并將獲取的內容通過html()
方法顯示在頁面中。
操作元素的內容
使用html()
和text()
方法操作元素的內容,當兩個方法的參數為空時,表示獲取該元素的內容,而如果方法中包含參數,則表示將參數值設置為元素內容。
例如,分別使用html()
和text()
方法獲取一個元素的內pww,并將獲取的內容顯示在不同的<div>元素中,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,html()
方法可以獲取元素的HTML內容,因此,原文中的格式代碼也被一起獲取,而text()
方法只是獲取元素中的文本內容,并不包含HTML格式代碼,所以它顯示的內容并沒有變“歪”。
操作元素的樣式
通過addClass()
和css()
方法可以方便地操作元素中的樣式,前者括號中的參數為增加元素的樣式名稱,后者直接將樣式的屬性內容寫在括號中。
例如,使用addClass()
方法,改變<div>元素的背景色和文字顏色,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,通過addClass()
方法為<div>元素增加了兩個樣式名稱,從而改變了<div>元素的背景和文字顏色,增加多個樣式名稱時,要用空格隔開。
css()方法和addClass方法用法類似,只是需要去設置具體樣式了。
移除屬性和樣式
使用removeAttr(name)
和removeClass(class)
分別可以實現移除元素的屬性和樣式的功能,前者方法中參數表示移除屬性名,后者方法中參數則表示移除的樣式名
例如,使用removeAttr()
方法移除<a>元素中的“href”屬性,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用removeAttr()
方法移除元素的“href”屬性后,再次顯示元素的“href”屬性值時,則為空值,<a>元素中的文字也丟失可點擊的效果。
使用append()方法向元素內追加內容
append(content)
方法的功能是向指定的元素中追加內容,被追加的content參數,可以是字符、HTML元素標記,還可以是一個返回字符串內容的函數。
例如,在頁面的<body>元素中追加一個具有“id”、“title”屬性和顯示內容的<div>元素,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,由于使用append()
方法在<body>元素中追加了一些HTML 元素標記,因此追加后,這些元素標記直接生成對應的元素和屬性顯示在頁面中。
使用appendTo()方法向被選元素內插入內容
appendTo()
方法也可以向指定的元素內插入內容,它的使用格式是:
$(content).appendTo(selector)
參數content表示需要插入的內容,參數selector表示被選的元素,即把content內容插入selector元素內,默認是在尾部。
例如,使用appendTo()
方法,將<div>外的<span>元素插入<div>內,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用appendTo()
方法將類別名為“red”的<span>元素插入到<div>元素的尾部,相當于追加的效果。
使用before()和after()在元素前后插入內容
使用before()
和after()
方法可以在元素的前后插入內容,它們分別表示在整個元素的前面和后面插入指定的元素或內容,調用格式分別為:
$(selector).before(content)
和$(selector).after(content)
其中參數content表示插入的內容,該內容可以是元素或HTML字符串。
例如,調用before()
方法在一個<span>元素插入另一個<span>元素,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用before()
方法將HTML格式的內容插入到原有<span>元素內容之前,而并不僅是它的內部文本。
使用clone()方法復制元素
調用clone()
方法可以生成一個被選元素的副本,即復制了一個被選元素,包含它的節點、文本和屬性,它的調用格式為:
$(selector).clone()
其中參數selector可以是一個元素或HTML內容。
例如,使用clone()
方法復制頁面中的一個<span>元素,并將復制后的元素追加到頁面的后面,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用clone()
方法復制元素時,不僅復制了該元素的文本和節點,還將它的“title”屬性也一起復制過來了。
替換內容
replaceWith()
和replaceAll()
方法都可以用于替換元素或元素中的內容,但它們調用時,內容和被替換元素所在的位置不同,分別為如下所示:
$(selector).replaceWith(content)
和$(content).replaceAll(selector)
參數selector為被替換的元素,content為替換的內容。
例如,調用replaceWith()
方法將頁面中<span>元素替換成一段HTML字符串,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用replaceWith()
方法替換類別名為“green”的<span>元素,替換之后,舊元素完全由新替換的元素所取代。
使用wrap()和wrapInner()方法包裹元素和內容
wrap()
和wrapInner()
方法都可以進行元素的包裹,但前者用于包裹元素本身,后者則用于包裹元素中的內容,它們的調用格式分別為:
$(selector).wrap(wrapper)
和$(selector).wrapInner(wrapper)
參數selector為被包裹的元素,wrapper參數為包裹元素的格式。
例如,調用wrap()
方法,將<span>用<div>元素包裹起來,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,紅色區域的<span>元素被綠色邊框的<div>元素通過wrap()
方法包裹起來。
使用each()方法遍歷元素
使用each()
方法可以遍歷指定的元素集合,在遍歷時,通過回調函數返回遍歷元素的序列號,它的調用格式為:
$(selector).each(function(index))
參數function為遍歷時的回調函數,index為遍歷元素的序列號,它從0開始。
例如,遍歷頁面中的<span>元素,當元素的序列號為2時,添加名為“focus”的樣式,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,在使用each()
方法遍歷<span>元素時,回調函數中的“index”參數為元素的序列號,它從0開始,當為2時,表示第3個<span>元素增加樣式。
使用remove()和empty()方法刪除元素
remove()
方法刪除所選元素本身和子元素,該方法可以通過添加過濾參數指定需要刪除的某些元素,而empty()
方法則只刪除所選元素的子元素。
例如,調用remove()
方法刪除<span>元素中類別名為“red”的,如下圖所示:
在瀏覽器中顯示的效果:
從圖中可以看出,使用remove(".red")
方法只是把<span>元素中類別名為“red”的這部分元素給刪除了。