You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JS中将指定类元素转移到同组目标类区块中?

实现同class元素移动到对应区块的原生JS与jQuery方案

需求说明

将每个.block容器内的.moved-element元素,移动到同一容器内的.move-here区块最顶部,区块和元素数量无限制。

初始结构

<div class="block">
  <div class="move-here">Move here 1
    <p>p1</p>
    <p>p2</p>
  </div>

  <div>Move from here 1
    <p class="moved-element"><b>Moved element 1</b></p>
    <p>p3</p>
    <p>p4</p>
  </div>
</div>

<div class="block">
  <div class="move-here">Move here 2
    <p>p5</p>
    <p>p6</p>
  </div>

  <div>Move from here 2
    <p class="moved-element"><b>Moved element 2</b></p>
    <p>p7</p>
    <p>p8</p>
  </div>
</div>

期望结果

<div class="block">
  <div class="move-here">Move here 1
    <p class="moved-element"><b>Moved element 1</b></p>
    <p>p1</p>
    <p>p2</p>
  </div>

  <div>Move from here 1

    <p>p3</p>
    <p>p4</p>
  </div>
</div>

<div class="block">
  <div class="move-here">Move here 2
    <p class="moved-element"><b>Moved element 2</b></p>
    <p>p5</p>
    <p>p6</p>
  </div>

  <div>Move from here 2

    <p>p7</p>
    <p>p8</p>
  </div>
</div>

原有代码问题分析

  • 原生JS代码一:document.querySelector('.move-here')仅获取页面第一个.move-here元素,导致所有待移动元素都被移到第一个区块,无法匹配对应容器。
  • 原生JS代码二:element.closest('.move-here')查找的是元素祖先节点,但.moved-element的祖先中不存在.move-here,目标容器是同.block下的兄弟节点子元素,因此无法定位。
  • jQuery代码:使用了错误的类名,且未限定区块范围,无法实现对应区块的元素移动。

原生JS实现方案

const elementsToMove = document.querySelectorAll('.moved-element');

elementsToMove.forEach(element => {
  // 获取当前元素所在的.block容器
  const parentBlock = element.closest('.block');
  // 在容器内找到对应的目标区块
  const targetContainer = parentBlock.querySelector('.move-here');
  // 将元素插入到目标区块最前面
  targetContainer.insertBefore(element, targetContainer.firstChild);
});

jQuery实现方案

// 遍历每个待移动元素
$('.moved-element').each(function() {
  // 定位当前元素所在区块内的目标容器
  const targetContainer = $(this).closest('.block').find('.move-here');
  // 将元素插入到目标容器最前面
  $(this).prependTo(targetContainer);
});

简洁链式写法:

$('.moved-element').prependTo(function() {
  return $(this).closest('.block').find('.move-here');
});

内容的提问来源于stack exchange,提问作者Yuriy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 21:57:50