Перебор всех установленных стилей

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Приветствую,

Чтобы узнать, какие стили браузер использовал для элемента надо использовать getComputedStyle(element);

Код:
CSSStyleDeclaration {
    0: "background-attachment"
    1: "background-blend-mode"
    2: "background-clip"
    3: "background-color"
    4: "background-image"
    5: "background-origin"
    ...
    alignContent: "stretch"
    alignItems: "stretch"
    alignSelf: "stretch"
    alignmentBaseline: "auto"
    backfaceVisibility: "visible"
    background: "rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box"
    backgroundAttachment: "scroll"
    backgroundBlendMode: "no
    ...
}

Пробовал перебрать всё это $.each(). Но там остаются только значений с числовыми ключами, а значения с ключем типа строки не попадают в перебор.

А мне надо как раз значения со строковыми ключами.

Как их все перебрать? И возможно ли получить только те, которые заданы где-то (css файл, атрибут style и тд), а не установились браузером по умолчанию.
 
Перебрать можно так:
Код:
var CSSStyleDeclaration = {
    0: "background-attachment",
    1: "background-blend-mode",
    2: "background-clip",
    3: "background-color",
    4: "background-image",
    5: "background-origin",
    alignContent: "stretch",
    alignItems: "stretch",
    alignSelf: "stretch",
    alignmentBaseline: "auto",
    backfaceVisibility: "visible",
    background: "rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box",
    backgroundAttachment: "scroll",
    backgroundBlendMode: "no"
};

$.each(CSSStyleDeclaration, function(indx, element){
  //В переменной element будет Object { key: value}
);
 
Перебрать можно так:
Код:
var CSSStyleDeclaration = {
    0: "background-attachment",
    1: "background-blend-mode",
    2: "background-clip",
    3: "background-color",
    4: "background-image",
    5: "background-origin",
    alignContent: "stretch",
    alignItems: "stretch",
    alignSelf: "stretch",
    alignmentBaseline: "auto",
    backfaceVisibility: "visible",
    background: "rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box",
    backgroundAttachment: "scroll",
    backgroundBlendMode: "no"
};

$.each(CSSStyleDeclaration, function(indx, element){
  //В переменной element будет Object { key: value}
);
Не работает так. В этом и проблема
 
Назад
Сверху