如何通过javascript获取css文件文本?

时间:2014-09-06 08:08:37

标签: javascript jquery css

如果我的页面上有一个带有css的样式标记,并且我编写了以下javascript,我将获得所有样式标记的css文本。

//compatibility: all
$("style").each(function () {
    alert($(this).text());
});

我想从所有链接元素css文件中获取相同的文本,如下面的脚本。

//compatibility: IE Only
$("link").each(function(){
    alert(this.sheet.cssText);
});

是否有上述脚本的跨现代浏览器友好版本?

2 个答案:

答案 0 :(得分:1)

在不实际访问样式表的情况下访问CSS规则的另一种方法是创建一个元素,对其应用规则,然后使用jQuery访问其属性。像这样:

var NewElement = $('.SomeClass');
var TheHeight = NewElement.prop('height');

不确定这是否会有所帮助,但这是一个想法。无论如何你还想做什么?

修改

var sheet = document.styleSheets[0];
var rules = sheet.cssRules || sheet.rules;

rules[0].style.color = 'red';

这是答案 here 我添加了 jsFiddle 请注意,您必须选择正确的样式表索引。

答案 1 :(得分:0)

唯一可行的解​​决方案是使用AJAX:

$("link").each(function(){
    $.get(this.href, function(css){
        alert(css);
    });
});

或者您可以使用document.styleSheets

您可以遍历样式表:

var styleSheets = document.styleSheets;
for(var i = 0; i < styleSheets.length; i++){
    alert(styleSheets[i].cssRules)
}