DOM 节点操作

2020-06-23  本文已影响0人  社会主义顶梁鹿

节点操作是利用父子兄节点关系获取元素,逻辑性强,但是兼容性稍差。

节点至少拥有节点类型(nodeType)、节点名称(nodeName)和节点值(nodeValue)这三个属性。

元素节点 nodeType为1;属性节点 nodeType为2;文本节点 nodeType为3(文本节点包含文字、空格、换行等)

一、节点层级

1、父节点    parentNode

element.parentNode   就可以得到父节点对象,最近的一个

<div class="father">

        <div class="son"></div>

</div>

<script>

        var box = document.querySelector(".son")    

        box.parentNode                //获取box 的父节点

</script>

2、子节点    children

(1)element.childNodes   返回所有的子节点,包含元素节点和文本节点(换行),可以通过节点类型(nodeType)+for循环筛选。

(2)children   返回元素节点,最常用

(3)firstChild   返回第一个子节点,不管是文本节点还是元素节点

(4)lastChild   返回最后一个子节点,不管是文本节点还是元素节点

(5)firstElementChild   返回第一个元素子节点

(6)lastElementChild    返回最后一个元素子节点

3、兄弟节点    nextSibling

(1)element.nextSibling    下一个兄弟节点,包含元素节点或者文本节点(换行)

(2)previousSibling    上一个兄弟节点,包含元素节点或者文本节点(换行)

(3)nextElementSibling    下一个元素兄弟节点

(4)previousElementSibling    上一个元素兄弟节点

二、创建和添加节点

1、创建节点    document.createElement('HTML元素')

document.createElement('tagName')    方法创建由tagName指定的HTML元素。因为这些元素原先不存在,是根据我们的需求动态生成的,所以我们也称为动态创建元素节点

2、添加节点    父节点.appendChild(child)

node.appendChild(child)    方法将一个节点添加到指定父节点的子节点列表末尾,类似于CSS里面的after伪元素。

node.insertBefore(child,指定子节点)    方法将一个节点添加到父节点的指定子节点前面。

三、删除节点

父节点.removeChild(child)    方法删除一个子节点,返回删除的节点。

四、复制节点(克隆节点)

1、克隆节点    复制的目标节点.cloneNode()

(1)括号为空或者里面是false,浅拷贝,只复制标签,不赋值里面的内容。

(2)cloneNode(true) 括号里面为true,深拷贝,复制标签以及里面的内容。

2、添加节点    父节点.appendChild(child)

五、三种动态创建元素的方法(了解)

1、document.write()    是直接将内容写入页面的内容流,但是文档流执行完毕,会导致页面全部重绘。重新绘制一个新的HTML页面。

document.write('<div></div>')

2、element.innerHTML    创建多个元素效率更高,但不要拼接字符串,要采用数组的方式 

3、document.createElement()    创建多个元素效率会稍微低一些,但是结构更清晰。

上一篇 下一篇

猜你喜欢

热点阅读