Автор Тема: определение стиля  (Прочитано 3189 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
определение стиля
« : 19 Августа 2003, 16:49:41 »
пример

Href

как выяснить стиль тега (цвет, размер и прочее)
или же хотябы выяснить имя класса применяемого к этому тегу

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
определение стиля
« Ответ #1 : 20 Августа 2003, 04:44:50 »
Href

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
определение стиля
« Ответ #2 : 20 Августа 2003, 09:46:44 »
ого!
огромное спасибо!

Оффлайн Jslab

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
    • http://arkproject.com/intertype
определение стиля
« Ответ #3 : 20 Августа 2003, 13:03:18 »
дополнение:
то, что прописано в теге, можно определить и так :
function getIt(th){
th.style.color="red";
th.year="2003";
s="Id="+th.id+"\\nColor="+th.style.color+"\\nClass="+th.className+"\\nYear="+th.year;
alert(s);
}
Href
но так не опрелить то, что прописано в таблице стилей
(нужно присвоить значение программно - color)

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
определение стиля
« Ответ #4 : 21 Августа 2003, 02:00:08 »
Jslab
Что-то я не совсем понял, к чему это ты... В данном случае необходимо было "выяснить", то есть получить значение, а не "определить", то есть присвоить его.
« Последнее редактирование: 23 Августа 2003, 01:50:27 от dub »

Оффлайн Jslab

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
    • http://arkproject.com/intertype
определение стиля
« Ответ #5 : 22 Августа 2003, 11:22:14 »
ага, не очень удачно использовал термин "определить"...
А имел в виду то, что можно считать значение по-простому (x=th.style...) только в том случае,
если это значение прописано в стиле внутри! тега. Но при начальной загрузке стартовое значение
можно записать программно (например th.style.left=100)
и потом считывать и перезаписывать без проблем.

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
определение стиля
« Ответ #6 : 23 Августа 2003, 02:17:21 »
Jslab
 
:) Ну, вот. Теперь все сформулированно для внешнего потребителя.
Но тогда то, что ты сформулировал, не имеет особого смысла. Объясню. Если есть возможность установить значение программно, то мало вероятно, что придется его позже считывать. Скорее всего придется только перезаписывать, а делается это просто. Равно как и считывание явно установленного значения, эта задача довольно простая (одно действие).


Blue Text



Set Me Blue


Ситуация, которую привел  Alone, несколько сложнее. Здесь нужно именно добраться до значения, хотя оно и установленно косвенно, посредством класса.

Alone

Кстати, как ты сам, наверное, понял, решение несколько избыточно для твоего конкретного случая, так обходятся все document.styleSheets и все document.styleSheets.rules, хотя в твоем конкретном примере styleSheet только один (единственный ), а в нем только один rule (класс \'st\'). Такая ситуация встречается на практике крайне редко, поэтому и предложил такое, более универсальное решение.

Кстати, Jslab прав вот в чем, прежде, чем проверять, какой цвет установлен классом, проверь, не установлен ли цвет явно, в атрибуте style, как известно, явная установка имеет больший приоритет. То есть прежде, чем пускаться в дебри стайлшитов, проверь qq.style.color .
« Последнее редактирование: 23 Августа 2003, 02:24:51 от dub »

 

Sitemap 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 27 28