javascript - jQuery:将完整的元素移动到另一个元素中,但不仅仅是它的内容

标签 javascript jquery html css

目标 DIV 中必须出现源 DIV 元素。

还有 jQuery appendTo 方法似乎可以为我做这件事。

例如:

<div class="source">Move Me</div>
<div class="destination"></div>

jQuery(document).ready(function(){
    jQuery('.source').contents().appendTo('.destination')
  });

但实际上它只是将源的内容移动到目标 DIV 中,将空的源 DIV 保留在原来的位置:这里是 JSFiddle这证明了这一点。

所以,而不是

<div class="destination">
    <div class="source">Move Me</div>
</div>

appendTo 结果就是

<div class="source"></div>
<div class="destination">Move Me</div>

有没有办法实现

<div class="destination">
    <div class="source">Move Me</div>
</div>

没有额外的包装元素?

最佳答案

$.contents() 将获取元素的内容,但不影响元素本身。 $.append()$.appendTo() 的默认行为是移动整个元素。因此,在您的示例中,您只需使用 jQuery('.source').appendTo('.destination') 即可将 .source 移至 .目的地

jQuery('.source').appendTo('.destination')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="source">Move Me</div>
<div class="destination"></div>

关于javascript - jQuery:将完整的元素移动到另一个元素中,但不仅仅是它的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42499138/

相关文章:

javascript - 多级菜单未正确显示

html - h2 在移动设备上强加导航栏崩溃

javascript - 请求错误: No connection is specified for that request; while connecting to Sql server using express. js?

jquery - 日期选择器 "Done"按钮未显示在显示按钮栏面板中

javascript - AngularJS - 如何在 mousemove 上存储鼠标坐标?

Jquery dt 类依赖于 dd ol css 样式

javascript - 根据我在同一行中选择的选项禁用输入,所有行都相同

javascript - 将网页中的字符串与 HTML 标记匹配

javascript - Discord.js client.addMemberToRole 不起作用

javascript - useReducer 可以使用状态数组吗?