2015-08-10 3 views
6

Иногда мне нужно распечатать список классов CSS, чтобы найти подходящий.Как получить список всех загруженных классов CSS в Google Chrome?

Наиболее подходящим для меня будет такая функция, как в консоли JS: список классов JS загружается и фильтруется при вводе текста.

Так, например, если мне нужно запомнить класс изображения, я набираю «Img», а затем загружается список классов изображений («ImgFolder», «ImgPencil» ...).

+0

Интересное чтение по этому вопросу: http://stackoverflow.com/questions/9320982/reading-documents-css-in-chrome-extension - В принципе, нет возможности читать внешние таблицы стилей без использования прокси – CodingIntrigue

ответ

1
var allTags = document.body.getElementsByTagName('*'); 
var classNames = {}; 
for (var tg = 0; tg< allTags.length; tg++) { 
    var tag = allTags[tg]; 
    if (tag.className) { 
     var classes = tag.className.split(" "); 
    for (var cn = 0; cn < classes.length; cn++){ 
     var cName = classes[cn]; 
     if (! classNames[cName]) { 
     classNames[cName] = true; 
     } 
    } 
    } 
} 
var classList = []; 
for (var name in classNames) classList.push(name); 
alert(classList); 

Источник: http://snipplr.com/view/6488/

код даст вам список всех классов на странице в массиве. Этого должно быть достаточно, чтобы вы начали. Если вам нужна помощь в фильтрации классов, оставьте комментарий, и я отредактирую ответ.

EDIT: непонятый вопрос. https://developer.mozilla.org/en-US/docs/Web/API/document.styleSheets

+0

У вас нет понял мой вопрос. Я говорю обо всех классах, которые могут быть загружены множеством внешних CSS-файлов и даже не применяются к любому элементу HTML. – gumkins

+0

https://developer.mozilla.org/en-US/docs/Web/API/document.styleSheets –

+0

Да, я знаю, что есть такое свойство, конечно, можно извлекать более глубокие массивы и обрабатывать их правильно, но я поиск своего рода расширений в браузере делает это красиво, предлагая отфильтрованный список классов. – gumkins

Смежные вопросы