亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js中的getAttribute方法使用示例

2019-11-20 14:18:11
字體:
來源:轉載
供稿:網友

getAttribute()方法

至此,我們已經向大家介紹了兩種檢索特定元素節點的辦法:一種是使用getElementById()方法,另一種是使用getElementsByTagName()方法。在找到那個元素后,我們就可以利用getAttribute()方法把它的各種屬性的值查詢出來。
getAttribute()方法是一個函數。它只有一個參數――你打算查詢的屬性的名字:
object.getAttribute(attribute)
不過,getAttribute()方法不能通過document對象調用,這與我們此前介紹過的其他方法不同。我們只能通過一個元素節點對象調用它。
例如,你可以把它與getElementsByTagName()方法結合起來,去查詢每個<p>元素的title屬性,如下所示:

var text=document.getElementsByTagName("p")for (var i=0;i<text.length;i++){alert(text[i].getAttribute("title"));}

如果把上面這段代碼插入到前面給出的“購物清單”示例文檔的末尾,并在Web瀏覽器里重新加載這個頁面,屏幕上將彈出一個顯示著文本消息“a gentle reminder”的alter對話框。
在“購物清單”文檔里只有一個帶有title屬性的<p>元素。假如這份文檔還有一個或更多個不帶title屬性的<p>元素,則相應的getAttribute("title")調用將返回null。null是JavaScript語言中的空值,其含義是“你說的這個東西不存在”。如果你們想親自驗證一下這件事,請先把下面這段文本插入到“購物清單”文檔中的現有文本段落之后:
<p>This is just test</p>
然后重新加載這個頁面。這一次,你們將看到兩個alter對話框,而第二個對話框將是一片空白或者是只顯示著單詞“null”――具體情況要取決于你的Web瀏覽器將如何顯示null值。
可以修改我們的腳本,讓它只在title屬性存在時才彈出一條消息。我們將增加一條if語句來檢查getAttribute()方法的返回值是不是null。趁著這個機會,我們還增加了幾個變量以提高腳本的可讀性:

var ts=document.getElementsByTagName("li");for (var i=0; i<ts.length;i++){text=ts[i].getAttribute("title");if(text!=null){alert(text)}}

現在,如果重新加載這個頁面,你們將只會看到一個顯示著“a gentle reminder”消息的alter對話框,如下所示。
我們甚至可以把這段代碼縮得更短一些。當檢查某項數據是否是null值時,我們其實是在檢查它是否存在。這種檢查可以簡化為直接把被檢查的數據用做if語句的條件。if (something)與if (something != null)完全等價,但前者顯然更為簡明。此時,如果something存在,則if語句的條件將為真;如果something不存在,則if語句的條件將為假。
具體到這個例子,只要我們把if (title_text != null)替換為if (title_text),我們就可以得到更簡明的代碼。此外,為了進一步增加代碼的可讀性,我們還可以趁此機會把alter語句與if語句寫在同一行上,這可以讓它們更接近于我們日常生活中的英語句子:

var ts=document.getElementsByTagName("li");for (var i=0; i<ts.length;i++){text=ts[i].getAttribute("title");if(text) alert(text)}

3.4.2 setAttribute()方法
我們此前介紹給大家的所有方法都只能用來檢索信息。setAttribute()方法與它們有一個本質上的區別:它允許我們對屬性節點的值做出修改。
類似于getAttribute()方法,setAttribute()方法也是一個只能通過元素節點對象調用的函數,但setAttribute()方法需要我們向它傳遞兩個參數:
obiect.setAttribute(attribute,value)
在下面的例子里,第一條語句將把id屬性值是purchase的元素檢索出來,第二條語句將把這個元素的title屬性值設置為a list of goods:

var shopping=document.getElementById("purchases")shopping.setAttribute("title","a list of goods")

我們可以利用getAttribute()方法來證明這個元素的title屬性值確實發生了變化:

var shopping=document.getElementById("purchases");alert(shopping.getAttribute("title"));shopping.setAttribute("title","a list of goods");alert(shopping.getAttribute("title"));

上面這些語句將在屏幕上彈出兩個alert對話框:第一個alter對話框出現在setAttribute()方法被調用之前,它將是一片空白或顯示著單詞“null”;第二個出現在title屬性值被設置之后,它將顯示著“a list of goods”消息。
在上例中,我們設置了一個現有節點的title屬性,但這個屬性原先并不存在。這意味著我們發出的setAttribute()調用實際完成了兩項操作:先把這個屬性創建出來,然后再對其值進行設置。如果我們把setAttribute()方法用在元素節點的某個現有屬性上,這個屬性的當前值將被覆蓋。
在“購物清單”示例文檔里,<p>元素已經有了一個title屬性,這個屬性的值是a gentle reminder。我們可以用setAttribute()方法來改變它的當前值:

<script type="text/javascript">var ts=document.getElementsByTagName("li");for (var i=0; i<ts.length;i++){var text=ts[i].getAttribute("title");alert(ts[i].getAttribute("title"))if(text){ts[i].setAttribute("title","我會成功!")alert(ts[i].getAttribute("title"))}}

上面這段代碼將先從文檔里把已經帶有title屬性的<p>元素全部檢索出來,然后把它們的title屬性值全部修改為brand new title text。具體到“購物清單”文檔,屬性值a gentle reminder將被覆蓋。
這里有一個非常值得關注的細節:通過setAttribute()方法對文檔做出的修改,將使得文檔在瀏覽器窗口里的顯示效果和/或行為動作發生相應的變化,但我們在通過瀏覽器的view source(查看源代碼)選項去查看文檔的源代碼時看到的仍將是原來的屬性值――也就是說,setAttribute()方法做出的修改不會反映在文檔本身的源代碼里。這種“表里不一”的現象源自DOM的工作模式:先加載文檔的靜態內容、再以動態方式對它們進行刷新,動態刷新不影響文檔的靜態內容。這正是DOM的真正威力和誘人之處:對頁面內容的刷新不需要最終用戶在他們的瀏覽器里執行頁面刷新操作就可以實現。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品国产| 成人激情春色网| 亚洲第一视频在线观看| 国产精品在线看| 精品香蕉在线观看视频一| 91免费的视频在线播放| 亚洲一区制服诱惑| 在线观看日韩专区| 成人国产亚洲精品a区天堂华泰| 亚洲三级av在线| 久久99久国产精品黄毛片入口| 色偷偷噜噜噜亚洲男人| 亚洲欧美一区二区精品久久久| 夜夜嗨av色综合久久久综合网| 亚洲欧洲免费视频| www.欧美免费| 亚洲sss综合天堂久久| 国产成人精品999| 欧美高清自拍一区| 国产精品情侣自拍| 在线观看日韩av| 91中文在线视频| 琪琪亚洲精品午夜在线| 92福利视频午夜1000合集在线观看| 91精品视频一区| 色综合久久久888| 亚洲一区二区三区成人在线视频精品| 国内精品久久久久久| 亚洲第一色中文字幕| 亚洲人成欧美中文字幕| 欧美二区在线播放| 97精品一区二区视频在线观看| 久久免费视频这里只有精品| 国产精品美女免费看| 日韩欧美aⅴ综合网站发布| 亚洲精品美女在线观看| 亚洲天堂第一页| 福利视频第一区| 日韩欧美国产免费播放| 日韩在线激情视频| 亚洲深夜福利视频| 国产aaa精品| 91日本在线观看| 91欧美精品成人综合在线观看| 亚洲精品短视频| 成人a级免费视频| 欧美极品欧美精品欧美视频| 亚洲欧美日韩精品久久奇米色影视| 欧美视频在线观看免费网址| 91极品视频在线| 欧美激情免费在线| 久久精品国产精品亚洲| 青草热久免费精品视频| 欧美大码xxxx| 欧美日韩综合视频| 日韩av网址在线观看| 亚洲欧美中文字幕在线一区| 91av在线不卡| 亚洲变态欧美另类捆绑| 欧美成人免费全部观看天天性色| 精品国产91乱高清在线观看| 中文欧美在线视频| 在线观看国产成人av片| 国产91色在线|| 91天堂在线观看| yw.139尤物在线精品视频| 一区二区三区四区精品| 国产精品白嫩美女在线观看| 精品国产一区二区三区在线观看| 久久免费福利视频| 成人激情视频在线播放| 亚洲一区国产精品| 国产91在线播放精品91| 亚洲精品一区久久久久久| 欧美激情一区二区三区成人| 日韩中文字幕在线播放| 青草成人免费视频| 亚洲第一网站男人都懂| 久久久久久亚洲精品中文字幕| 少妇久久久久久| 日本韩国欧美精品大片卡二| 久久久久久久久久久免费| 91高清视频免费观看| 国产精品www| 亚洲精品www| 日韩在线免费av| 久久久999国产精品| 日韩免费观看在线观看| 在线成人中文字幕| 97在线免费观看| 久久久久久91香蕉国产| 亚洲国产精品女人久久久| 精品中文字幕在线观看| 国产精品最新在线观看| 中文字幕欧美国内| 日韩精品在线视频观看| 亚洲综合日韩在线| 日韩欧美国产网站| 国产免费亚洲高清| 91久久久国产精品| 亚洲视频欧洲视频| 国产精品久久久久77777| 亚洲欧美色婷婷| 亚洲人成电影网站| 亚洲精品一区二区久| 免费91麻豆精品国产自产在线观看| 欧美寡妇偷汉性猛交| 91在线|亚洲| 国产偷国产偷亚洲清高网站| 91av在线免费观看| 日韩在线视频中文字幕| 国产欧美 在线欧美| 精品国产视频在线| 国产欧美一区二区三区在线| 国产精品一区二区三区毛片淫片| 亚洲人成在线观看网站高清| 国产精品第一页在线| 91九色国产社区在线观看| 久久精品国产亚洲精品| 国产69精品99久久久久久宅男| 日韩av电影手机在线观看| 亚洲国产精品久久精品怡红院| 黑人极品videos精品欧美裸| 色中色综合影院手机版在线观看| 欧美日韩免费区域视频在线观看| 亚洲欧美综合v| 国产精品一久久香蕉国产线看观看| 亚洲欧洲免费视频| 国产主播喷水一区二区| 视频一区视频二区国产精品| 国产精品爽爽爽爽爽爽在线观看| 亚洲精品大尺度| 亚洲欧洲成视频免费观看| 欧美性在线观看| 亚洲视频一区二区| 韩国精品美女www爽爽爽视频| 亚洲国产高潮在线观看| 国产精品99久久久久久久久| 亚洲国产成人精品女人久久久| 国产亚洲欧洲高清一区| 成人国产亚洲精品a区天堂华泰| 国产视频亚洲视频| 国产精彩精品视频| 66m—66摸成人免费视频| 高清欧美性猛交xxxx黑人猛交| 亚洲国产精品久久91精品| 久久久久久久成人| 日韩中文字幕不卡视频| 亚洲v日韩v综合v精品v| 北条麻妃在线一区二区| 亚洲精品在线视频| 日韩免费精品视频| 91在线视频九色| 国产aⅴ夜夜欢一区二区三区| 伊人久久久久久久久久久| 久久久久久久久国产| 亚洲aa中文字幕| 91国偷自产一区二区三区的观看方式| 亚洲黄在线观看| 亚洲免费高清视频| 色偷偷88888欧美精品久久久| 亚洲美女精品成人在线视频| 日韩av电影国产| 亚洲伊人成综合成人网|