JS-DOM

2018-09-01  本文已影响0人  天蓝蓝TL

DOM:

Document Object Model (文档对象模型)

使用 JavaScript 能够去操作页面文档中的各元素的添加、修改、删除、克隆、查找等,或操作CSS

(1)JavaScript 能够改变页面中的所有 HTML 元素

(2)JavaScript 能够改变页面中的所有 HTML 属性

(3)JavaScript 能够改变页面中的所有 CSS 样式

(4)JavaScript 能够对页面中的所有事件做出反应

Document对象:

window.document 或 document 来引用

查找元素节点:

(1)document.getElementById() -- 根据元素的 id 属性查找

如果能够查找到,则返回查找到的DOM元素对象,如果不能查找到,则返回 null

(2)document.getElementsByTagName() -- 根据元素的标签名查找

返回 HTMLCollection 集合,如果根据标签能够查找到元素,则将所有查找到的元素保存到集合中,如果不能查找到,则集合长度为0

(3)document.getElementsByClassName() -- (ES5)根据类名查找元素

返回 HTMLCollection 集合,如果根据类名能够查找到元素,则将所有查找到的元素保存到集合中,如果不能查找到,则集合长度为0

(4)document.getElementsByName() -- 根据元素的 name 属性值查找


添加

创建元素节点:

var element = document.createElement(tagName)

设置属性

element.setAttribute(attrName, attrValue) 或 element. = attrValue

添加到父元素内部

parentElement.appendChild(element);

如果 element 是页面中已存在的DOM元素,则该方法为移动元素

添加到父元素内部某子节点前

parentElement.insertBefore(newNode, oldNode);

如果 oldNode 不存在,则将 newNode 追加到末尾

元素内部文本:

(1)element.innerHTML-- 内部HTML文本

(2)element.innerText-- 内部纯文本

创建文本节点:var txtNode = document.createTextNode(text)

可以将文本节点添加到元素内部:element.appendChild(txtNode);

删除

父元素内部删除孩子节点

parentElement.removeChild(childNode)

克隆

var copy = node.cloneNode(boolean)

注意点:boolean 表示是否克隆元素后代,默认为 false(不克隆),如果需要克隆节点后代,则传递 true

查找(层级--属性):

(1)node.parentNode -- 查找父节点

(2)node.childNodes -- 所有孩子节点

(3)node.children -- 所有孩子元素节点

(4)node.firstChild -- 第一个孩子

(5)node.lastChild -- 最后一个孩子

(6)node.previousSibling -- 前一个兄弟节点

(7)node.nextSibling -- 后一个兄弟节点

CSSOM

CSS-Object Model

获取:

(1)行内(内联)样式:

element.style

(2)所有样式:

window.getComputedStyle(element) -- 经过计算后的样式

-- IE9之前浏览器只支持:element.currentStyle

设置:

element.style. = attrValue;

上一篇下一篇

猜你喜欢

热点阅读