js操作节点的DOM方法

JavaScript013

js操作节点的DOM方法,第1张

js操作节点的DOM方法

一、创建节点

createElement

createTextNode

二、添加、删除、替换、克隆元素

1、appendChild

2、insertBefore

3、如果appendChild、insertBefore追加的是已经存在的子元素,实际上就会将子元素位置移动

4、删除节点removeremoveChild

remove()

removeChild

5.替换节点

replaceChild

6、克隆节点

cloneNode()

三、操作元素属性的方法

1.获取属性 元素.属性名

2.设置属性 元素.属性名 = 属性值

1、2方法只能获取和设置元素自带的属性

3.操作属性的万能方法

getAttribute()

setAttribute()

方法一:

使用DOM.setAttribute("class","类名")

方法二:

DOM.classList.add("类名")

方法一给DOM元素添加类名会覆盖原有的类名

方法二 可以给DOM元素添加一个类名后 还可以在继续给DOM元素添加新的类名 并且不会覆盖已有的类名

概念:把要添加的节点添加到指定父级里面的最后面,所以也叫追加。

使用方式:fatherdom.appendChild( insertdom )。

兼容性:所有浏览器都支持此方法。

概念:把要插入的节点添加到指定父级里面的指定节点之前。

使用方式:fatherdom.insertBefore( insertdom,chosendom )。

兼容性:所有浏览器都支持此方法,但是值得注意的是,如果第二个参数节点不存在,在IE和Safari下会把要添加的节点使用appendChild()方法追加到指定父级中,而其他主流浏览器(Firefox、Chrome、Opera等)下会报错,所以在插入节点的时候,需要先判断第二个参数节点是否存在

效果

注意:很多人都认为设置disabled="true"是为启用,设置为“false”时为禁用,这是错的。

DOM 的全称是" Document Object Model ",中文意思为“文档对象模型”。

就像 JS 中所有的对象都继承自 Object 一样,浏览器提供一个原生的节点对象 Node (Node 是一个函数), DOM 的所有节点都继承自 Node ,Node 又继承自 Object,因此它们具有一些共同的属性和方法。

一个文档的所有节点,按照所在的层级,可以抽象成一种树状结构。这种树状结构就是 DOM 树。

顶层的 根节点 html 属于 Document 节点,代表整个文档;

第二层级和第三层级的属于 Element 节点,即网页的各种 HTML 标签;

第四层级的属于 Text 节点,即标签之间或标签包含的文本。

页面中的节点,通过上述不同的构造函数,构造出相应的对象。

由此可以看出 DOM 的主要作用 :DOM 是 JavaScript 操作网页的接口,它的作用是将网页转为一个 JavaScript 对象,从而可以用脚本进行各种操作(如增删改查)。

DOM 有自己的国际标准,目前通用版本是 DOM 3。

Node 属性有很多,用到时可以查询文档。

如果一个属性是函数,那么这个属性也叫做 方法 ;即方法是函数属性。

document对象是文档的根节点,window.document属性就指向这个对象。

通过 DOM API 获取到的 elements 都是伪数组。

Element 对象对应网页的 HTML 元素。每一个 HTML 元素在 DOM 树上都会转化成一个 Element 节点对象。

DOM 提供两种节点集合,用于容纳多个节点: NodeList 和 HTMLCollection 。这两种集合都属于接口规范。许多 DOM 属性和方法,返回的结果是 NodeList 实例或 HTMLCollection 实例。

节点对象除了继承 Node 接口以外,还会继承其他接口。