美文网首页
JS互换两元素的位置

JS互换两元素的位置

作者: 不爱举铁的伪文青不是好前端 | 来源:发表于2019-04-18 20:05 被阅读0次

同样是前几天阿里电话面的一道简单的DOM操作题,
但是由于自己DOM操作掌握的不熟练,答的很烂.....这里总结一下
首先这里用到了一个API,Node.insertBefore(a,b)在b节点之前插入a
在这之前首先要获取这两个元素的父亲节点

<div>
      <div id="list1">list1</div>
      <div id="list2">list2</div>
      <div id="list5">list5</div>
      <div id="list6">list6</div>
</div>

<style>
      #list1{
        background:red;
      }
      #list2{
        background:orange;
      }
      #list5{
        background:green;
      }
     #list6{
        background:pink;
      }
</style>

假设要交换第一个和第五个元素
首先逻辑是先新建一个节点(标记节点),然后把这个节点插在第二个目标节点前面,相当于记下一个位置,然后把第二个目标节点插到第一个目标节点前面,再把第一个目标节点插在标记节点的后面,结束。

JS代码:

function exchange(id_1,id_2){
  var newNode = document.createElement('div')
  list1.parentNode.insertBefore(newNode,id_2)
  list1.parentNode.insertBefore(id_2,id_1)
  list1.parentNode.insertBefore(id_1,newNode)
  list1.parentNode.removeChild(newNode)
}
exchange(list2,list6)
list2.png

相关文章

  • JS互换两元素的位置

    同样是前几天阿里电话面的一道简单的DOM操作题,但是由于自己DOM操作掌握的不熟练,答的很烂.....这里总结一下...

  • js拖拽元素互换位置

    *{margin: 0;padding: 0;} body,ul,li{margin:0;padding:0;...

  • 冒泡排序,选择排序

    冒泡排序法(相邻两个元素进行比较,如果位置错误则进行互换) 如果没有发生位置互换,则终止循环 选择排序

  • 排序算法

    冒泡 从前向后遍历,如果前面的元素大于后面的,两者互换位置 选择排序 从未排序的数组中遍历出最小的元素,和开始位置...

  • javascript排序

    1.冒泡排序法 原理:从头开始比较相邻的两个待排序元素,如果前面元素大于后面元素,就将两个元素的位置互换。这样对序...

  • 前端学习JS基本知识

    初识js js书写位置 JS-API介绍 js语法格式 变量 变量命名规范 不通过第三个变量,让两个变量值互换 变...

  • js实现lazyload

    JS & jQuery 获取元素位置尺寸

  • 2.1顺序表的基本操作和常用算法--C

    顺序表的定义: 初始化表 插入操作 删除操作 按值查找 逆置所有元素 逆置给定位置元素 子表位置互换问题L:(a1...

  • js数组的删除,插入和替换

    首先解释下本节要记录的功能:js数组删除指定位置的的元素,或者在指定位置插入元素,或者替换某个位置的元素; spl...

  • 快速排序

    /*** 冒泡法:从首元素开始,用该元素与剩余元素挨个比较,按排序进行位置互换,像冒泡一样* 时间复杂度为 (n-...

网友评论

      本文标题:JS互换两元素的位置

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