getElementById、getElementsByTagName和getElementsByClass都是獲取元素,而getAttribute和setAttribute都是對獲取的元素屬性進行操作的方法。
1.getAttribute是一個函數,參數是要查詢的屬性名稱。getAttribute不屬於document對象,所以不能通過document對象調用,他只能通過元素節點對象調用。可以與getElementsByTagName何用,獲取每個<p>元素的title屬性
var a1 = document.getElementsByTagName("p");
for(var i =0,j=a1.length;i<j;i++){
console.log(a1[i].getAttribute("title"));
}
2.setAttribute方法是允許我們對屬性進行修改,同樣它也不屬於document,通過元素節點進行操作。
如:
var a1 = document.getElementById('a1');
console.log(a1.getAttribute('title'));//打印a1的title屬性
a1.setAttribute('title','hello');
console.log(a1.getAttribute('title'));//打印a1的title屬性
ps:setAttribute方法是第一級DOM的組成部分,它可以設置任何元素節點的任意屬性。DOM 是一種適用於多種環境和多種程序設計語言的通用型API,嚴格遵守第一級DOM能夠避免於兼容任何問題。
參考:javascript dom 編程藝術