Javascript 将特定div之后的所有内容移动到其他标记下
我想将div之后的所有文本(html内容)移动到另一个标记中(同样位于div之下)。 例如,如果我有一个如下所示的页面,我想将div2之后的所有内容移动到body:Javascript 将特定div之后的所有内容移动到其他标记下,javascript,jquery,html,Javascript,Jquery,Html,我想将div之后的所有文本(html内容)移动到另一个标记中(同样位于div之下)。 例如,如果我有一个如下所示的页面,我想将div2之后的所有内容移动到body: <body> <div id=div1> <div id=div2></div> <div id=div3></div> <script>blah</script> and much
<body>
<div id=div1>
<div id=div2></div>
<div id=div3></div>
<script>blah</script>
and much more
</div>
</body>
仅移动该分区。您可以使用jQuery实现这一点
var elems = $("#div2").nextAll();
$('body').append(elems );
在我尝试之前,上面的响应不正确,因为它不移动文本节点。 试试这个,希望它是你想要的:
var $div = $("#div2"), $con = $div.parent().contents();
$con.slice($con.index($div)+1).appendTo("body");
在div2之前是否也有元素,或者它始终是div1的第一个子元素?在div2之前也可以有任何其他div,或者只是
$('#div2').nextAll().appendTo('body')
@Blender:谢谢,它很简短
var elems = $("#div2").nextAll();
$('body').append(elems );
var $div = $("#div2"), $con = $div.parent().contents();
$con.slice($con.index($div)+1).appendTo("body");