0

我想将 div (再次位于 div 下)之后的所有文本(html 内容)移动到另一个标签。例如,如果我有一个如下所示的页面,我想将 div2 之后的所有内容移动到正文:

<body>
    <div id=div1>
      <div id=div2></div>
      <div id=div3></div>
      <script>blah</script>
      and much more
    </div>
</body>

<body>
   <div id=div1>
      <div id=div2></div>
    </div>
    <div id=div3></div>
    <script>blah</script>
    and much more
 </body>

我怎样才能做到这一点?使用

$('#div').appendTo('body');

只移动那个div。

4

2 回答 2

2

您可以使用 jQuery 来实现这一点。

   var elems = $("#div2").nextAll();
    $('body').append(elems );

jsfiddle

于 2012-09-20T07:09:46.520 回答
0

根据我的尝试,上面的响应是不正确的,因为它不会移动文本节点。试试这个,希望它是你正在寻找的:

​var $div = $("#div2"​), $con = $div.parent().contents();
$con.slice($con.index($div)+1).appendTo("body");
​

jsfiddle

于 2012-09-20T07:43:20.000 回答