DOM基礎(chǔ)
- childNodes
返回指定元素的子元素集合,在IE6-8下沸手,只返回元素節(jié)點(diǎn)注簿,在IE9和chrome下會連同文本節(jié)點(diǎn)一起返回,所以需要通過if判斷obj[i] == 1诡渴,來篩選元素節(jié)點(diǎn)。 - children
返回指定元素子元素的集合惑灵,只包括元素節(jié)點(diǎn)眼耀,且是一級子元素 - nodeType
返回節(jié)點(diǎn)類型 - parentNode
返回父節(jié)點(diǎn),可以做點(diǎn)擊隱藏父節(jié)點(diǎn) - offsetParent
返回一個指向最近的包含該元素的定位元素哮伟,比如一個元素position為absolute,使用element.offsetParent可以知道該元素相對誰定位 - firstChild和firstElementChild
用于選取改元素的第一個子元素把敢,前者支持ie6-8谅辣,后者支持高級瀏覽器,相似的還有l(wèi)astChild和lastElementChild桑阶、nextSibling和nextElementSibling(下一個兄弟元素)、previousSibling和previousElementSibling - getAttribute(屬性名稱)
獲取元素的屬性 - setAttribute(屬性名稱割择,屬性值)
設(shè)置屬性值 - 通過className選擇元素
var aLi = document.getElementsByTagName("li");
for (var i = 0; i < aLi.length; i++) {
if (aLi[i].className == "tored") {
aLi[i].style.backgroundColor = "red";
}
}
封裝一個getByClass函數(shù)
function getByClass(parent, class) {
var result = [];
var aEle = parent.getElementsByTagName("*");
for (var i = 0; i < aEle.length; i++) {
if (aEle[i].className == class) {
result.push(aEle[i]);
}
}
return result;
}
- createElement() 創(chuàng)建一個節(jié)點(diǎn)
var =createLi = document.createElement("li");
- appendChild() 向當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)末尾添加新的子節(jié)點(diǎn)
node.appendChild(createLi)
- insertBefore() 在當(dāng)前節(jié)點(diǎn)某個子節(jié)點(diǎn)之前再插入一個子節(jié)點(diǎn)
node.insertBefore(createLi, 某個子節(jié)點(diǎn))
- removeChild() 刪除當(dāng)前節(jié)點(diǎn)的某個子節(jié)點(diǎn)
node.removeChild(某個子節(jié)點(diǎn))