DOM:
Document Object Model (文檔對象模型)
使用 JavaScript 能夠去操作頁面文檔中的各元素的添加、修改、刪除、克隆、查找等,或操作CSS
(1)JavaScript 能夠改變頁面中的所有 HTML 元素
(2)JavaScript 能夠改變頁面中的所有 HTML 屬性
(3)JavaScript 能夠改變頁面中的所有 CSS 樣式
(4)JavaScript 能夠?qū)撁嬷械乃惺录龀龇磻?yīng)
Document對象:
window.document 或 document 來引用
查找元素節(jié)點:
(1)document.getElementById() -- 根據(jù)元素的 id 屬性查找
如果能夠查找到,則返回查找到的DOM元素對象,如果不能查找到,則返回 null
(2)document.getElementsByTagName() -- 根據(jù)元素的標(biāo)簽名查找
返回 HTMLCollection 集合,如果根據(jù)標(biāo)簽?zāi)軌虿檎业皆兀瑒t將所有查找到的元素保存到集合中,如果不能查找到,則集合長度為0
(3)document.getElementsByClassName() -- (ES5)根據(jù)類名查找元素
返回 HTMLCollection 集合,如果根據(jù)類名能夠查找到元素,則將所有查找到的元素保存到集合中,如果不能查找到,則集合長度為0
(4)document.getElementsByName() -- 根據(jù)元素的 name 屬性值查找
添加
創(chuàng)建元素節(jié)點:
var element = document.createElement(tagName)
設(shè)置屬性:
element.setAttribute(attrName, attrValue) 或 element. = attrValue
添加到父元素內(nèi)部
parentElement.appendChild(element);
如果 element 是頁面中已存在的DOM元素,則該方法為移動元素
添加到父元素內(nèi)部某子節(jié)點前
parentElement.insertBefore(newNode, oldNode);
如果 oldNode 不存在,則將 newNode 追加到末尾
元素內(nèi)部文本:
(1)element.innerHTML-- 內(nèi)部HTML文本
(2)element.innerText-- 內(nèi)部純文本
創(chuàng)建文本節(jié)點:var txtNode = document.createTextNode(text)
可以將文本節(jié)點添加到元素內(nèi)部:element.appendChild(txtNode);
刪除
父元素內(nèi)部刪除孩子節(jié)點
parentElement.removeChild(childNode)
克隆
var copy = node.cloneNode(boolean)
注意點:boolean 表示是否克隆元素后代,默認(rèn)為 false(不克?。绻枰寺」?jié)點后代,則傳遞 true
查找(層級--屬性):
(1)node.parentNode -- 查找父節(jié)點
(2)node.childNodes -- 所有孩子節(jié)點
(3)node.children -- 所有孩子元素節(jié)點
(4)node.firstChild -- 第一個孩子
(5)node.lastChild -- 最后一個孩子
(6)node.previousSibling -- 前一個兄弟節(jié)點
(7)node.nextSibling -- 后一個兄弟節(jié)點
CSSOM
CSS-Object Model
獲?。?/b>
(1)行內(nèi)(內(nèi)聯(lián))樣式:
element.style
(2)所有樣式:
window.getComputedStyle(element) -- 經(jīng)過計算后的樣式
-- IE9之前瀏覽器只支持:element.currentStyle
設(shè)置:
element.style. = attrValue;