有没有办法让outerHTML只有顶级元素?

时间:2013-07-13 21:50:43

标签: javascript jquery

我页面的访问者可以将正文背景设置为颜色或图像。这些更改最终内联如下:

<body style="background-image: none;
 background-color: rgb(255, 51, 221);">

现在我想在style =之后得到上面的字符串并使用那里的参数来构建一个合适的样式字符串:

<style>
     body {
         background-image: none;
         background-color:rgb(255, 51, 221);
    }
</style>

第一个问题是从body标签获取内联样式。如果我做一个outerHTML,我会获取正文的HTML和其中的所有内容。我只想要标签,包含所有属性。

感谢任何建议。

3 个答案:

答案 0 :(得分:3)

使用:var style = $("body").attr("style");

这将返回body标签的样式属性。

然后:

$("head").append('<style> body{' + style + '} </style>');

答案 1 :(得分:1)

这个怎么样:

document.body.outerHTML.replace(document.body.innerHTML, "")

答案 2 :(得分:1)

你可以简单地获得身体的风格:

document.getElementsByTagName('body')[0].style; 

'[0]'假设你只有一个身体。我只有一个身体。 ;)