Получить стили элемента

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

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

    Q_BASIC

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

    Получаю стили через getComputedStyle();

    Но она возвращает вычисленные стили. К примеру, есть это:
    Код:
    border: 1px solid #c2c2c2;
    Функция возвращает это:
    Код:
    border: 1px solid rgb(194, 194, 194)
    Или если картинку из background-image не получилось загрузить, то background-image возвращается none.

    Как получить не те, что вычисленные, а те, что в CSS прописаны?




    Что-то в последнее время сложные вопросы стали, на предыдущий еще не ответили, а уже новый вопрос :)
     
  2. primehostnet

    primehostnet Постоялец

    Регистр.:
    28 июн 2015
    Сообщения:
    115
    Симпатии:
    17
    заюзайте jquery
    вот простейший пример
     
  3. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    380
    Симпатии:
    236
    Хоть чистый JS, хоть jQuery - ничего не меняется. Ответы те же самые...
     
  4. primehostnet

    primehostnet Постоялец

    Регистр.:
    28 июн 2015
    Сообщения:
    115
    Симпатии:
    17
    тогда давайте начнем от печки, с какой целью получаете эти данные?
     
  5. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    380
    Симпатии:
    236
    Редактирование элемента:
    1. Клик по элементу
    2. Получение стилей
    3. Создание формы
    4. Редактирование нужных стилей
    5. Сохранение стилей
    Это HTML редактор
     
  6. primehostnet

    primehostnet Постоялец

    Регистр.:
    28 июн 2015
    Сообщения:
    115
    Симпатии:
    17
    ясно, тогда просто добавляйте новый класс к этому элементу. зачем вам знать что там было, добавьте что нужно и все.
     
  7. Aglok

    Aglok ∞³

    Регистр.:
    9 янв 2012
    Сообщения:
    162
    Симпатии:
    46
    Попробуй:
    Код:
    elem.currentStyle
     
  8. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    380
    Симпатии:
    236
    Это тоже самое, что и getComputedStyle(), только для IE
     
  9. Yulia

    Yulia Создатель

    Регистр.:
    24 сен 2006
    Сообщения:
    29
    Симпатии:
    0
    Код:
    function rgb2hex(rgb) {
         if (  rgb.search("rgb") == -1 ) {
              return rgb;
         } else {
              rgb = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/);
              function hex(x) {
                   return ("0" + parseInt(x).toString(16)).slice(-2);
              }
              return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
         }
    }
     
  10. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    127
    Симпатии:
    130
    стандартными способами не "computed" стиль получить проблематично.

    если суть именно в получении описания оригинала из подключенного css то можно попробовать достать из document.stylesheets по какому-нибудь признаку. это работает для стилей добавленных через link и style.
    еще немного информации тут