在DOM學習中,記住最重要的一句話:每一個元素節點都看成一個“對象”。由於元素節點也是一個對象,因此他們有自身的屬性和方法。
在JavaScript中,可以通過以下2種方式來選中指定元素:
(1)getElementById();
(2)getElementsByName();
在JavaScript中,創建新節點都是先用document對象中的createElement()和createTextNode()這2種方法創建一個元素節點,然後再通過appendChild()、insertBefore()等方法把新元素節點插入現有的元素節點中去。
語法:
var e = document.createElement("元素名"); var txt = document.createTextNode("元素內容"); e.appendChild(t); //把元素內容插入元素中去
在JavaScript中,插入節點有2種方法:appendChild()和insertBefore()。
在JavaScript中,我們可以使用appenChild()方法把新的節點插入到當前節點的“內部”。
語法:
obj.appendChild(new)
說明:
obj表示當前節點,new表示新節點。
在JavaScript中,我們可以使用insertBefore()方法將新的子節點添加到當前節點的“末尾”。
語法:
obj.insertBefore(new,ref)
說明:
obj表示父節點;
new表示新的子節點;
ref指定一個節點,在這個節點前插入新的節點。
在JavaScript中,我們可以使用removeChild()方法來刪除當前節點下的某個子節點。
語法:
obj.removeChild(oldChild);
說明:
參數obj表示當前節點,而參數oldChild表示需要當前節點內部的某個子節點。
在JavaScript中,我們可以使用cloneNode()方法來實現復制節點。
語法:
obj.cloneNode(bool)
說明:
參數obj表示被復制的節點,而參數bool是一個布爾值,取值如下:
(1)1或true:表示復制節點本身以及復制該節點下的所有子節點;
(2)0或false:表示僅僅復制節點本身,不復制該節點下的子節點;
在JavaScript中,我們可以使用replaceChild()方法來實現替換節點。
語法:
obj.replaceChild(new,old)
說明:
obj,表示被替換節點的父節點;
new,表示替換後的新節點;
old,需要被替換的舊節點。
在JavaScript中,我們可以使用innerHTML和innerText這2個屬性很方便地獲取和設置某一個元素內部子元素或文本。
innerHTML屬性被多數浏覽器所支持,而innerText只能被IE、chrome等支持而不被Firefox支持。
在JavaScript中,對於元素的CSS操作,我們使用的是DOM對象中的style對象來操作。
語法:
obj.style.屬性名;
說明:
obj指的是DOM對象,也就是通過document.getElementById()等獲取而來的DOM元素節點。
後話:這些DOM操作很基本,但是相當有用,這也是前端面試中最基本的東西了。