1.訪問(wèn)/獲取節(jié)點(diǎn)
document.getElementById(id); //返回對(duì)擁有指定id的第一個(gè)對(duì)象進(jìn)行訪問(wèn)
document.getElementsByName(name); //返回帶有指定名稱的節(jié)點(diǎn)集合 注意拼寫:Elements
document.getElementsByTagName(tagname); //返回帶有指定標(biāo)簽名的對(duì)象集合 注意拼寫:Elements
document.getElementsByClassName(classname); //返回帶有指定class名稱的對(duì)象集合 注意拼寫:Elements
2.創(chuàng)建節(jié)點(diǎn)/屬性
document.createElement(eName); //創(chuàng)建一個(gè)節(jié)點(diǎn)
document.createAttribute(attrName); //對(duì)某個(gè)節(jié)點(diǎn)創(chuàng)建屬性
document.createTextNode(text); //創(chuàng)建文本節(jié)點(diǎn)
3.添加節(jié)點(diǎn)
document.insertBefore(newNode,referenceNode); //在某個(gè)節(jié)點(diǎn)前插入節(jié)點(diǎn)
parentNode.appendChild(newNode); //給某個(gè)節(jié)點(diǎn)添加子節(jié)點(diǎn)
4.復(fù)制節(jié)點(diǎn)
cloneNode(true | false); //復(fù)制某個(gè)節(jié)點(diǎn) 參數(shù):是否復(fù)制原節(jié)點(diǎn)的所有屬性
5.刪除節(jié)點(diǎn)
parentNode.removeChild(node); //刪除某個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn) node是要?jiǎng)h除的節(jié)點(diǎn)
注意:為了保證兼容性苞慢,要判斷元素節(jié)點(diǎn)的節(jié)點(diǎn)類型(nodeType),若nodeType==1愤诱,再執(zhí)行刪除操作。通過(guò)這個(gè)方法捐友,就可以在 IE和 Mozilla 完成正確的操作淫半。
nodeType 屬性可返回節(jié)點(diǎn)的類型.最重要的節(jié)點(diǎn)類型是:
元素類型 | 節(jié)點(diǎn)類型 |
---|---|
元素element | 1 |
屬性attr | 2 |
文本text | 3 |
注釋comments | 8 |
文檔document | 9 |
6.修改文本節(jié)點(diǎn)
方法 | 作用 |
---|---|
appendData(data); | 將data加到文本節(jié)點(diǎn)后面 |
deleteData(start,length); | 將從start處刪除length個(gè)字符 |
insertData(start,data); | 在start處插入字符,start的開始值是0; |
replaceData(start,length,data); | 在start處用data替換length個(gè)字符 |
splitData(offset); | 在offset處分割文本節(jié)點(diǎn) |
substringData(start,length); | 從start處提取length個(gè)字符 |
7.屬性操作
getAttribute(name) //通過(guò)屬性名稱獲取某個(gè)節(jié)點(diǎn)屬性的值
setAttribute(name,value); //修改某個(gè)節(jié)點(diǎn)屬性的值
removeAttribute(name); //刪除某個(gè)屬性
8.查找節(jié)點(diǎn)
parentObj.firstChild; //如果節(jié)點(diǎn)為已知節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)就可以使用這個(gè)方法。此方法可以遞歸進(jìn)行使用 parentObj.firstChild.firstChild.....
parentObj.lastChild; //獲得一個(gè)節(jié)點(diǎn)的最后一個(gè)節(jié)點(diǎn)匣砖,與firstChild一樣也可以進(jìn)行遞歸使用 parentObj.lastChild.lastChild.....
parentObj.childNodes; //獲得節(jié)點(diǎn)的所有子節(jié)點(diǎn)科吭,然后通過(guò)循環(huán)和索引找到目標(biāo)節(jié)點(diǎn)
9.獲取相鄰的節(jié)點(diǎn)
curtNode.previousSibling; //獲取已知節(jié)點(diǎn)的相鄰的上一個(gè)節(jié)點(diǎn)
curtNode.nextSlbling; // 獲取已知節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)
10.獲取父節(jié)點(diǎn)
childNode.parentNode; //得到已知節(jié)點(diǎn)的父節(jié)點(diǎn)
11.替換節(jié)點(diǎn)
replace(newNode,oldNode);