jQuery-从div中的所有内容获取CSS

jQuery-从div中的所有内容获取CSS,jquery,html,css,Jquery,Html,Css,假设我有一些类似这样的html代码 <html> <body> <div class="container"> <div class="markup-container"> <div class="title">This is a title with some markup</div> <div class="body">This is the body with

假设我有一些类似这样的html代码

<html>
<body>
    <div class="container">
    <div class="markup-container">
        <div class="title">This is a title with some markup</div>
        <div class="body">This is the body with some markup and it's longer ^^</div>
    </div>
    </div>
</body>
</html>
.container{display:none;}
.markup-container{color:#404040;}
.title{text:decoration:underline;}
.body{color:#000;}
如何让javascript读取类容器中使用的所有CSS(包括子类)

我想让它显示它,就像用css写的一样,并将它放在一个变量中,比如:

var css = "<style type="text/css">.container{display:none;}.markup-container{color:#404040;}.title{text:decoration:underline;}.body{color:#000;}"
var css=“.container{display:none;}.markup container{color:#404040;}.title{text:decoration:underline;}.body{color:#000;}”

我该怎么做呢?

当您使用jQuery的css方法时,您存储css的方式允许它轻松地应用到另一个元素。获取多个选择器的CSS并将其存储在一个变量中是特别冗长的,通常是不切实际和不寻常的

您可以使用jquery检索单个选择器的单个CSS属性,如下所示:

var css = $('.container').css('display');
将CSS存储为字符串的最简单技术要求CSS与HTML位于同一位置(即不在单独的CSS文件中)。您可以通过向css添加ID将其存储为字符串,如下所示:

<style id="my_css" type="text/css">
    .container{display:none;}
    .markup-container{color:#404040;}
    .title{text:decoration:underline;}
    .body{color:#000;}
</style>

我这里有一个这样的例子-

使用纯JavaScript,您可以执行以下操作:

var styleSheet = document.styleSheets[0]; //first stylesheet.
var css='<style type="text/css">';
for(i=0; i<styleSheet.cssRules.length; i++)
 {
    css += styleSheet.cssRules[i].cssText;
 }
css = css + "</style>";
var-styleSheet=document.styleSheets[0]//第一个样式表。
var css='';

对于(i=0;我只是想澄清一下。
.css(propertyName)
,需要
propertyName
。只是为了确定。不可能加载外部css文件的css?也不可能一次加载所有属性?:)正如@Babiker所指出的,您可以使用
document.styleSheets
从外部样式表中获取代码-有关详细信息,请参阅。
var styleSheet = document.styleSheets[0]; //first stylesheet.
var css='<style type="text/css">';
for(i=0; i<styleSheet.cssRules.length; i++)
 {
    css += styleSheet.cssRules[i].cssText;
 }
css = css + "</style>";