在我們掌握了獲取特定元素的方法之后,我們還可以繼續(xù)想辦法獲取它的各個(gè)屬性(getAttribute方法)和更改節(jié)點(diǎn)屬性的值(setAttribute)狼犯。
1.getAttribute
getAttribute() 方法返回指定屬性名的屬性值凡纳。
使用方法:object.getAttribute(attribute)
它只有一個(gè)參數(shù)窃植,就是你打算查詢的屬性的名字。
因?yàn)間etAttribute方法不屬于document對象荐糜,所以不能通過document對象調(diào)用巷怜。它只能通過元素節(jié)點(diǎn)對象調(diào)用,所以我們這里就要用到getElementsByTagName方法暴氏。
還是用到之前的代碼:
在body中加入下面的代碼:
運(yùn)行結(jié)果:
在代碼中延塑,只有一個(gè)<p>元素,并且它有title屬性答渔,所以alert對話框中顯示了一段文本就是這個(gè)<p>元素的title屬性的值关带。如若我將title的屬性值改成了空的,那么它會(huì)顯示什么呢沼撕?這里我就可以用到setAttribute方法來修改了宋雏。
2.setAttribute
setAttribute() 方法添加指定的屬性,并為其賦指定的值务豺。
使用方法:object.setAttribute(attribute,value)
這個(gè)方法有兩個(gè)參數(shù)磨总,第一參數(shù)是要修改的屬性的名字,第二個(gè)參數(shù)是屬性修改后的值冲呢。
現(xiàn)在我們把<p>元素的屬性修改為空的舍败,進(jìn)行下面的代碼修改:
運(yùn)行結(jié)果:
? ? ? ?需要注意的是招狸,通過setAttribute對文檔做出修改后敬拓,在通過瀏覽器的view source(查看源代碼)選項(xiàng)去查看文檔的源代碼時(shí)看到的仍將是改變前的屬性值,也就是說裙戏,setAttribute做出的修改不會(huì)反映在文檔本身的源代碼里乘凸。這種“表里不一”的現(xiàn)象源自DOM的工作模式:先加載文檔的靜態(tài)內(nèi)容,再動(dòng)態(tài)刷新累榜,動(dòng)態(tài)刷新不影響文檔的靜態(tài)內(nèi)容营勤。