日常隨筆:JS實現將一個元素從一個標籤中移動到另一個標籤中的簡單方法

使用 append 方法完成頁面內元素的遷移

問題描述

要將一個元素target從一個標籤(div1)中移動到另外一個標籤(div2)中,應該怎麼做呢

一般做法:先將target從div1中保存並從div1中將target刪除,然後在div2中添加該元素

特殊做法: 今天發現直接append該target元素!!!

實驗驗證

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style>
      .box {
        width: 50px;
        height: 50px;
        background-color: red;
      }
    </style>
  </head>
  <body>
    <ul>
      <li>
        1
        <div class="box"></div>
      </li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <button onclick="changeBox()">Change Pos</button>
      <script>
        const lis = document.querySelectorAll('li');
        const box = document.querySelector('.box');

        const changeBox = () => {
          const pos = Math.floor(Math.random() * 5);
          console.log(pos);
          lis[pos].append(box);
        };
      </script>
    </ul>
  </body>
</html>

實驗結果

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-AFNRknBm-1577193281549)('./result.gif')]

可以看到通過父元素的 append 方法對同一個元素進行添加,會自動將其從原來的位置挪到現在的指定位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章