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

Тема в разделе "JavaScript", создана пользователем Q_BASIC, 29 окт 2015.

Модераторы: ZiX
  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    403
    Симпатии:
    274
    Приветствую,

    Чтобы узнать, какие стили браузер использовал для элемента надо использовать 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 и тд), а не установились браузером по умолчанию.
     
  2. vbncxz

    vbncxz Создатель

    Регистр.:
    27 авг 2014
    Сообщения:
    45
    Симпатии:
    118
    Перебрать можно так:
    Код:
    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}
    );
     
  3. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    403
    Симпатии:
    274
    Не работает так. В этом и проблема
     
  4. vbncxz

    vbncxz Создатель

    Регистр.:
    27 авг 2014
    Сообщения:
    45
    Симпатии:
    118
    Давайте спишемся по скайпу, и решим эту проблему...
     
  5. rockerzz

    rockerzz Создатель

    Регистр.:
    12 янв 2013
    Сообщения:
    13
    Симпатии:
    1