標籤:
節點:XML和HTML文檔都是有節點構成的結構,每區段標記都可以通過節點來表示;
節點類型:
元素節點(常用)
屬性節點(常用)
文本節點
注釋節點
文檔節點
進程節點
文件類型節點
等...
瞭解節點的資訊可以用nodeValue和nodeName屬性,這兩個屬性的取值完全有節點類型決定,文本節點的nodeValue為文本節點的常值內容,常用它來擷取某一節點的值,
元素節點的nodeName為元素名稱,nodeValue為空白;
ex:
if(someNode.nodeType==1){
alert(someNode.nodeName);//彈出元素節點的元素值
}
家族式節點關係:
節點的childNodes屬性,該屬性內包含nodelist對象,用於儲存一組有序的節點對象(子節點對象),可以通過方括弧文法來訪問;nodelist可以通過length屬性擷取其節點長度;
在文檔中childNodes的節點中常常包含空白元素節點,所以在用childNodes遍曆子項目時通常需要判斷其節點類型;
ex:
var firstnode=someNode.childNodes[0];
var len=someNode.childNodes.length;
節點的parentNode屬性,該屬性指向文檔樹中的父節點,包含在childNodes中的所有的節點都有一個共同的parentNode,childNodes節點之間是同胞關係,可以通過每個節點的previousSibling和nextSibling來訪問同一列表中的其他節點,其中childNodes.firstChild代表第一個子節點,childNodes.lastChild代表最後一個子節點;
動作節點:
appendChild:向chileNodes的末尾添加一個節點。返回新增節點;
ex:
var returnNode=childNodes.appendChild(newNode);
alert(returnNode==newNode);//true
removeChild:移除某個節點,結果返回被移除的節點;
ex:
var someNodeFirstnode=childNodes.removeChild(someNode.firstChild);
insertBefore:向chileNodes某個元素之前添加子節點,需要兩個參數(newNode,someNode);
relpaceChild:替換某個節點,需要兩個參數(newNode,someNode),返回被替換後的節點;
cloneNode:複製某個節點,參數為true時表示深度複製;
JS DOM1核心概要1