0

我需要使用 jQuery/JavaScript 动态地将元素包装在bodyby中。<div id="wrap">最终结果必须是:

<body>
    <div id="wrap">
        <!-- open div #wrap here -->
        <div id="nav">
            <ul>
                <li><a href="#">Menu 1</a></li>
                <li><a href="#">Menu 2</a></li>
            </ul>
        </div>
        <div id="main">....</div>
    </div>
    <!-- close div #wrap here, before close body tag -->
</body>

我应该创建 div 并添加正文中已经存在的内容吗?我该怎么做?

谢谢!

4

4 回答 4

3

首先你会想要获取当前的 HTML 并将其存储在一个变量中,然后使用该.html()方法会产生奇迹:

$(function(){
    var bod = $("body"), current_html = bod.html();
    bod.html("<div id=\"wrap\">" + current_html + "</div>");
});
于 2013-08-10T13:41:48.087 回答
1

使用.wrapAll()方法,如下:

$('body').children().wrapAll("<div id='wrap'>");

JSBin 演示

于 2013-08-10T13:44:26.763 回答
0
$(document.body).html("<div id='wrap'>...</div>")
于 2013-08-10T13:40:41.110 回答
0

wrapAll 应该产生几个 div 标签。我会改用 wrapInner 。

$('body').wrapInner('<div id="wrap">');
于 2013-08-10T16:36:54.297 回答