美文网首页
DOM 节点操作

DOM 节点操作

作者: 社会主义顶梁鹿 | 来源:发表于2020-06-23 20:35 被阅读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()    创建多个元素效率会稍微低一些,但是结构更清晰。

    相关文章

      网友评论

          本文标题:DOM 节点操作

          本文链接:https://www.haomeiwen.com/subject/bfghfktx.html