Как использовать jQuery (или аналогичный) для извлечения всего CSS - PullRequest
0 голосов
/ 13 марта 2009

Для веб-страницы, на которой загружены (возможно, несколько) CSS-файлов и встроенных стилей, с помощью:

<link rel="stylesheet" type="text/css" href="some_file.css" />
<style type="text/css"> /* some css rules */  </style>
<link rel="stylesheet" type="text/css" href="some_other_file.css" />
<style type="text/css"> /* some other css rules */  </style>      
<!-- etc -->

Как можно было бы написать функцию (возможно, с jQuery) для извлечения всех действующих сетевых правил CSS?

1 Ответ

4 голосов
/ 13 марта 2009

Я не уверен, что вы хотите сделать с этим, но это должно начать вас:

function getStyles() {
    if(!document.styleSheets) return false; // return false if browser sucks
    var rules = new Array();
    for (var i=0; i < document.styleSheets.length; i++) {
        var x = 0;
        styleSheet = document.styleSheets[i];
        if(styleSheet.cssText) { // if this is IE, get the rules directly
            rules.push(styleSheet.cssText);
        } else {
            // otherwise get them individually
            do {
                cssRule = styleSheet.cssRules[x];
                if(cssRule) rules.push(cssRule.cssText);
                x++;
            } while (cssRule);
        }
    }
    return rules;
}

Когда вы вызываете это, он возвращает массив всех правил. Протестировано в Firefox, IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...