将 div 移动到其他父级,因此它继承自该父级 [重复]

Posted

技术标签:

【中文标题】将 div 移动到其他父级,因此它继承自该父级 [重复]【英文标题】:Move div to other parent, so it inherits from that parent [duplicate] 【发布时间】:2012-03-25 08:55:13 【问题描述】:

可能重复:How to move an element into another element?

我基本上想将父级重新分配给我的 DIV:

<DIV id='main'>
   <DIV id='child'>

   </DIV>
</DIV>
<DIV id='surrogate'>
</DIV>

所以我希望孩子成为代理人的孩子。

我试过了:

var $a = $('#child');
var contents = $a.contents();
$a.remove();
$('#surrogate').append('<p>' + contents + '</p>');

但它只会输出:[object Object]

有没有更好/更有效的方法来将父级重新分配给整个元素树,而无需读取内容复制或克隆它? 好吧,也许克隆有效,但我宁愿只是移动它。

【问题讨论】:

【参考方案1】:

您想从返回字符串的子项内部获取 html,以便您可以按照自己的方式连接它

var $a = $('#child');
$('#surrogate').append('<p>' + $a.html() + '</p>');

$a.remove();

contents() 正在返回一个 jQuery 对象,你不能连接一个对象和字符串

【讨论】:

+2,但是 OP:请注意 child 尚未包含 &lt;p&gt;,当您将其附加到代理 div 时,该 &lt;p&gt; 将被另一个 &lt;p&gt; 包裹(即, $a.html() == '&lt;p&gt;Old content of child div.&lt;/p&gt;';).

以上是关于将 div 移动到其他父级,因此它继承自该父级 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将嵌套 div 向上移动两个 div 级别以匹配父级?

将元素从一个父级移动到另一个父级的反应动画

如何在嵌套数组中找到值然后返回该父级? [关闭]

绝对定位忽略父级的填充

将相对div拉伸到其静态父级的高度

如何通过仅膨胀一次将相同的视图多次添加到父级