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

时间:2014-02-16 22:23:37

标签: javascript jquery html dom

我正在使用简单的javascript创建一个书签,我想将所有网站的原始正文内容包装在一个div中,这样我就可以将该内容与我添加的内容分开...

在我的场景中,我正在尝试添加固定的垂直全角度导航,但我想在其余内容中添加填充。

谢谢!

2 个答案:

答案 0 :(得分:6)

var div = document.createElement("div");

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

document.body.appendChild(div);

或者

var div = document.body.appendChild(document.createElement("div"));

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

当然,您可以将父级和可选的容器作为节点名称或节点传递给函数。

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);
}

然后

wrapInner(document.body, "div");

答案 1 :(得分:0)

我猜可能是:

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);