jQuery-从div中的所有内容获取CSS
假设我有一些类似这样的html代码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>
<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>";