首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在纯javascript中实现jQuery的.wrapInner()函数?

如何在纯javascript中实现jQuery的.wrapInner()函数?
EN

Stack Overflow用户
提问于 2014-02-17 06:23:37
回答 2查看 2.1K关注 0票数 6

我正在用普通的javascript做一个书签,我想把站点的所有原始正文内容包装在一个div中,这样我就可以把这些内容从我添加的内容中分离出来……

在我的场景中,我试图添加一个固定的、垂直的、全宽的导航,但我想在其余的内容中添加填充。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-02-17 06:28:30

代码语言:javascript
复制
var div = document.createElement("div");

while(document.body.firstChild)
    div.appendChild(document.body.firstChild);

document.body.appendChild(div);

代码语言:javascript
复制
var div = document.body.appendChild(document.createElement("div"));

while(document.body.firstChild !== div)
    div.appendChild(document.body.firstChild);

当然,您可以将它们转换为一个函数,方法是将父容器或所需的容器作为节点名称或节点进行传递。

代码语言:javascript
复制
function wrapInner(parent, wrapper) {
    if (typeof wrapper === "string")
        wrapper = document.createElement(wrapper);

    var div = parent.appendChild(wrapper);

    while(parent.firstChild !== wrapper)
        wrapper.appendChild(parent.firstChild);
}

然后

代码语言:javascript
复制
wrapInner(document.body, "div");
票数 6
EN

Stack Overflow用户

发布于 2014-02-17 06:27:48

我猜可能是:

代码语言:javascript
复制
var dv = document.createElement('div');
var body = document.getElementsByTagName('body')[0];
var elements = body.childNodes;
for(var i = 0; i < elements.length; i++)
{
     dv.appendChild(elements[i]);
}
body.appendChild(dv);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21817538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档