《JavaScript學徒》系列會以經(jīng)典書籍為教材制作影片,和大家一起學習JavaScript废膘。
本文同步發(fā)表于我的個人網(wǎng)站:ZackLive
這是《JavaScript學徒》系列的第六課燥翅,今天會繼續(xù)《JavaScript DOM 編程藝術(shù)》第3章象对,介紹如何用DOM方法獲取與修改元素屬性蚕礼。
教學視頻連結(jié)
獲取屬性:getAttribute
object.getAttribute(attribute)
var para = document.getElementsByTagName("p");
for (var i = 0; i < para.length; i++) {
? alert(para[i].getAttribute("title"));
}
若屬性不存在,則返回null炼绘。對if語句來講null就等于false嗅战,屬性存在時會返回的字符串,而字符串只要不是空的俺亮,對if來講就是true。
var para = document.getElementsByTagName("p");
for (var i = 0; i < para.length; i++) {
? text = para[i].getAttribute("title")
? if (text) alert(text);
}
只有屬性存在時才alert疟呐。
修改屬性:setAttribute
object.setAttribute(attribute, value)
同樣透過元素節(jié)點對象調(diào)用脚曾。
var buyList = document.getElementById(purchases);
alert(buyList.getAttribute("title"));
buyList.setAttribute("title", "things to buy");
alert(buyList.getAttribute("title"));
若屬性原本不存在,則會先創(chuàng)建启具,再賦值本讥。
當你查看網(wǎng)頁的源代碼時,并不會看到修改后的內(nèi)容,因為瀏覽器會先載入網(wǎng)頁拷沸,再運行JavaScript進行動態(tài)修改色查,因此所有修改并不會影響原本的網(wǎng)頁文件(HTML)。
文本節(jié)點撞芍?
我們知道節(jié)點有三種:元素節(jié)點秧了、屬性節(jié)點和文本節(jié)點。而我們學習了:
元素節(jié)點的獲刃蛭蕖:
getElementById
getElementsByTagName
getElementsByClassName
屬性節(jié)點的獲取與修改:
getAttribute
setAttribute
那文本節(jié)點又是如何操作的呢验毡?這便是《JavaScript DOM 編程藝術(shù)》第四章的重點。