美文网首页
DOM节点的复制添加

DOM节点的复制添加

作者: _v_xw | 来源:发表于2017-10-30 15:15 被阅读0次

需求:获取原DOM列表中的某个节点复制重新添加进该列表

问题

如果直接添加,只会对获取的节点进行移动,而不是添加

  • 利用appendChild()
    1,2,3,4 ===> 获取2节点再添加就成了 1,3,4,2;
    而不是想要的1,2,3,4,5,2;
解决方法
  1. createElement()重新创建一个新的节点,并进行设置;
  2. cloneNode(boolean) 实现节点复制后添加
    createElement的话就没有cloneNode一样那么直接去复制,而是一步一步的创造,所以主要讲的是cloneNode方法。
  • cloneNode方法
    有一个参数(布尔值)
    当false时 会复制节点以及其后代节点
    为true时 连节点的属性也会一起复制
// html 
<div class="parsent">
    <a href="" class="child">1</a>
    <a href="" class="child">2</a>
    <a href="" class="child">3</a>
</div>
// js
var parsent = document.getElementsByClassName('parsent')[0]
var secondChild = parsent.querySelectorAll('a')[1]
var copyChild = secondChild.childNode(true)
parsent.appendChild(copyChild)

添加后的html

<div class="parsent">
    <a href="" class="child">1</a>
    <a href="" class="child">2</a>
    <a href="" class="child">3</a>
    <a href="" class="child">2</a>
</div>

如果直接用一个新变量来储存抽离出来的DOM节点,这样做是没用的,结果会是如下

// js
var parsent = document.getElementsByClassName('parsent')[0]
var secondChild = parsent.querySelectorAll('a')[1]
var copyChild = secondChild
parsent.appendChild(copyChild)
// html
<div class="parsent">
    <a href="" class="child">1</a>
    <a href="" class="child">3</a>
    <a href="" class="child">2</a>  <!--只进行了移动-->
</div>

相关文章

  • js,es6零散知识备忘

    DOM怎样添加、移除、移动、复制、创建和查找节点// 创建新节点createDocumentFragment() ...

  • DOM节点的复制添加

    需求:获取原DOM列表中的某个节点复制重新添加进该列表 问题 如果直接添加,只会对获取的节点进行移动,而不是添加 ...

  • JS常见题型

    怎么添加,移除,复制,创建,查找节点 创建节点:createDocumentFragment() 创建一个DOM片...

  • dom操作

    javascript 原生方法对dom节点的操作具体包括:创建、添加、删除、替换、插入、复制、移动等。 dom操作...

  • js知识

    DOM操作——怎样添加、移除、移动、复制、创建和查找节点 创建新节点 添加、移除、替换、插入 查找 ES6的了解说...

  • DOM节点操作以及节点属性

    DOM节点操作:增删改查。 (1)创建元素节点 (2)将节点对象添加到页面中 (3)移除节点 (4)复制节点 (5...

  • 面试题(四)

    3月22日 1. DOM操作——怎样添加、移除、移动、复制、创建和查找节点? 创建新节点createDocumen...

  • DOM和BOM的基础知识

    目录 js组成 DOMDOM是什么DOM节点是什么查找DOM节点,查看DOM节点的属性和样式添加DOM节点删除DO...

  • DOM操作 —— 如何添加、移除、移动、复制、创建和查找节点等

    如何添加、移除、移动、复制、创建和查找节点? 创建节点 添加节点 复制节点 替换节点 移除节点 查找节点-遍历

  • 前端常见面试题(十四)@郝晨光

    怎样添加、移除、复制、创建、查找节点 创建节点 删除(移除)节点 添加节点 替换节点 复制节点 查找节点通过doc...

网友评论

      本文标题:DOM节点的复制添加

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