Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 4

Чтение значения свойства из правила CSS в IE8

12.11.2015, 15:37. Показов 1505. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Думал, что уже давно всё разрешено, но не нашел ответа ни на этом форуме, ни в другом месте...
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// возвращает значение Заданного_Свойства Заданного_Правила таблицы стилей
// rule - Заданное_Правило таблицы стилей (например, '.line')
// property - Заданное_Свойство правила (например, 'fill')
function getPropertyValue(rule, property)
{
    var rules = document.styleSheets[0].cssRules || document.styleSheets[0].rules; // правила таблицы стилей
    var value = ''; // возвращаемое значение ('не нашлось')
    for(var i = 0; i < rules.length; i++) // перебор всех правил таблицы
    {
        if (rules[i].selectorText == rule) // i-тое правило равно заданному
        {
            var styles = rules[i].style // набор свойств i-того правила
            for(var j = 0; j < styles.length; j++) // перебор всех свойств правила
            {
                if (styles[j] == property) // j-тое свойство равно заданному
                {
                    value = styles[property]; // значение Заданного Свойства
                    break;  
                }
            }
        }
    }
    return(value);
}
Вроде бы всё просто и вышеприведенный скрипт прекрасно работает в Chrome, но на компьютере заказчика стоит IE8 (ставить Chrome почему-то запрещено администрацией).
И вот тут выясняется, что styles.length возращает undefined...
При этом styles.cssText возвращает строку со свойствами и их значениями.

Что неправильно в скрипте?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2015, 15:37
Ответы с готовыми решениями:

Увеличение значения css-свойства при клике
Доброго времени суток, господа. Возник вопрос. Есть код: if(s.which == 83){ $(&quot;#box&quot;).animate({ &quot;top&quot;: 400 }) } ...

CSS медиа запросы - CSS правила по умолчанию
Всем доброго времени суток, Интересует такой вопрос: @media screen позволяют задавать определённые CSS правила для экранов с заданным...

Беда со стилями CSS в IE8
Пишу код для сайта http://www.myslitsky-dent.ru/. Во всех распространенных браузерах кроме IE работает корректно, а в IE постоянно...

6
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.11.2015, 19:30
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<style>
div {color: red}
span {font-size: 12px}
.first {background-color: lime} 
</style>
 
<style>
div.second {color: blue}
span.third {font-size: 18px}
p {background-color: gray} 
</style>
 
<script>
onload = function ()
{
for (var SS = document.styleSheets, j = 0, J = SS.length; j < J; j++)
for (var RUL = SS [j].cssRules || document.styleSheets [j].rules, k = 0, K = RUL.length; k < K; k++)
document.getElementById ('inf').value += (RUL [k].selectorText || RUL.item (k).selectorText) +
                         ' {' + (RUL [k].style.cssText || RUL.item (k).style.cssText) +'}\n';
}
</script>
<body>
<textarea id="inf" style="width: 100%; height: 200px"></textarea>
</body>
</html>
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 4
12.11.2015, 20:36  [ТС]
kalabuni, спасибо. Только свойств в правиле у меня несколько.
Но я кажется понял, что дальше - надо разложить эту строку (cssText) на свойства и их значения.
Если подскажите как правильно это сделать, буду признателен.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.11.2015, 22:38
Цитата Сообщение от WaW2 Посмотреть сообщение
подскажите как правильно это сделать
в строках ##19-20 моего кода замените cssText на нужное вам свойство, например, на color
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 4
13.11.2015, 08:21  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
в строках ##19-20 моего кода замените cssText на нужное вам свойство, например, на color
Обработка color получилась, а вот как с font-size быть?
Скрипт не выполняется. Вероятно из-за тире в строке названия свойства.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
13.11.2015, 13:28
Лучший ответ Сообщение было отмечено WaW2 как решение

Решение

общее правило называется "верблюжья нотация" -- слова пишутся слитно, без дефиса, но буква, следующая за дефисом, прописывается в верхнем регистре

для примера:
css-свойство font-size соответствует скриптовому свойству fontSize

css-свойство background-color соответствует скриптовому свойству backgroundColor (это всё были "дромадеры" -- "одногорбые верблюды")

css-свойство border-left-style соответствует скриптовому свойству borderLeftStyle (а вот это уже "двугорбый верблюд", он же "бактриан")
1
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 4
13.11.2015, 14:46  [ТС]
kalabuni, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2015, 14:46
Помогаю со студенческими работами здесь

IE8 и .css() не считывает border-color
Друзья, подскажите в чём может быть дело. Задача вообще стоит абсолютно тривиальная - поменять цвет бордера у блока по наведению и...

Правила css
Привет! Сейчас подал заявку на обучение на курсы по программированию и прислали мне тестовые вопросы с некоторыми из которых у меня...

Подключение css - не работают правила
Всем доброго времени суток. Проблема в следующем: Не работают css, файл styles.css лежит рядом с файлом авторизации код ...

Правила именования классов в CSS
Добрый ночи, у меня такой вопрос небольшой. Просто недавно смотрел пару сайтов открывал css код там классы почему та создаются по...

Подключение css - не работают правила
Всем привет! Не выходит подключить css. Первая строка и первый столбец должен быть с другим фоном. а в итоге ничего. подскажите в чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru