我想返回一个包含css规则所有内容的字符串,就像您在内联样式中看到的格式一样。我希望能够在不知道特定规则中包含的内容的情况下执行此操作,因此我不能仅通过样式名称(如 .style.width
)
css:
.test {
width:80px;
height:50px;
background-color:#808080;
}
迄今为止的守则:
function getStyle(className) {
var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules
for(var x=0;x<classes.length;x++) {
if(classes[x].selectorText==className) {
//this is where I can collect the style information, but how?
}
}
}
getStyle('.test')
16条答案
按热度按时间g6ll5ycj1#
我发现这些建议都不管用。这里有一个更健壮的方法,可以在查找类时规范化间距。
这是chrome控制台上的实际操作。
plicqrtu2#
下面是迭代页面中所有规则的代码:
nafvub8i3#
注意:“menu”是您应用css的元素idclassname“我们需要获取其文本的css类名。
ttp71kqs4#
为了得到更完整的结果,我们修改了朱尔莫特的答案。此方法还将返回类作为选择器一部分的样式。
此外,我还制作了一个函数,用于将css样式定义收集到您提供的根节点的子树中(通过jquery选择器)。
请注意,如果使用同一选择器多次定义一个类,则上述函数将只拾取第一个。请注意,该示例使用jquery(但cab相对容易重写为不使用它)
6tr1vspr5#
在一行中,为任何查询打印生成的css。
uqcuzwp86#
我做了一个类似的助手函数,它显示了这个页面不需要的样式。附加
<div>
到正文,列出未使用的所有样式。(与firebug控制台一起使用)
zpqajqem7#
//在ie中工作,不确定其他浏览器。。。
lokaqttq8#
此版本将遍历页面上的所有样式表。出于我的需要,这些样式通常在20多个样式表中的倒数第二个,所以我将它们向后检查。
3z6pesqy9#
我添加了将属性解析为样式/值的对象返回:
qlvxas9a10#
我创建了一个搜索所有样式表并返回匹配项作为键/值对象的版本。还可以指定startswith以匹配子样式。
返回:
发件人:
守则:
我在生产中使用它作为纯表单项目的一部分。希望能有帮助。
mbjcgjjk11#
我也面临同样的问题。在伙计们的帮助下,我想出了一个非常聪明的解决方案,完全解决了这个问题(在chrome上运行)。
从网络中提取所有图像
1bqhqjot12#
基于@dude-answer,这将返回对象中的相关样式,例如:
这将返回:
代码:
wb1gzix013#
根据scunliffe的答案改编:
z9smfwbn14#
由于“nsdel”的公认答案仅适用于文档中的一个样式表,因此这是经过调整的完整工作解决方案:
注意:选择器必须与css中的相同。
hfwmuf9z15#
解决方案1(跨浏览器)
解决方案2(跨浏览器)