Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вытащить значения стилей из StyleSheet?
 
 автор: Denis_Gorby   (23.04.2007 в 19:39)   письмо автору
 
 

Здравствуйте.

Столкнулся со следующей проблемой: нужно узнать цвет текущего выделенного текста.

queryCommandValue('ForeColor') работает хорошо, но только под IE. Я могу пробежаться по стилям текущего выделенного элемента и его родителям, но есть одна проблема - цвет шрифта может быть определен во внешнем css файле.

Если ли какая-нибудь возможность вытащить параметры стиля из известного css файла для известного класса?

Заранее спасибо.

   
 
 автор: SHAman   (23.04.2007 в 19:47)   письмо автору
 
   для: Denis_Gorby   (23.04.2007 в 19:39)
 

Если я не ошибаюсь, то для JS не имеет значения как именно назначен стиль для элемента. То есть, если он подключен из внешнего файла, значение стилевого свойства все равно будет доступно.

Но это только мое предположение. Нужно провести тест:)

   
 
 автор: Denis_Gorby   (23.04.2007 в 22:01)   письмо автору
 
   для: SHAman   (23.04.2007 в 19:47)
 

>Но это только мое предположение. Нужно провести тест

Я с этого начал. Увы, стиль не назначается (как минимум, в IE)

   
 
 автор: RMW   (23.04.2007 в 21:08)   письмо автору
 
   для: Denis_Gorby   (23.04.2007 в 19:39)
 

getComputedStyle()
вытащит указанное значение стиля для елемента.
___
Верней вернёт массив значений
обойдя все прописанные в css значения
и значения по умолчанию.
<style>
  .someClass{color:red;font-size:14pt}
</style>

<span class="someClass" onclick="alert(getComputedStyle(this,null).color)">test</span>

   
 
 автор: Denis_Gorby   (23.04.2007 в 22:02)   письмо автору
 
   для: RMW   (23.04.2007 в 21:08)
 

>getComputedStyle()
>вытащит указанное значение стиля для елемента.

Спасибо, попробую.

   
 
 автор: CNT   (24.04.2007 в 01:49)   письмо автору
 
   для: RMW   (23.04.2007 в 21:08)
 

для MSIE:
alert (this.currentStyle.color)

   
 
 автор: Denis_Gorby   (24.04.2007 в 12:15)   письмо автору
 
   для: Denis_Gorby   (23.04.2007 в 19:39)
 

Большое спасибо всем ответившим.

В итоге остановился на таком варианте:


function GetNodeStyle(node)
{
    if (typeof(node.tagName) == 'undefined') return null;
    
    if (node.currentStyle) return node.currentStyle;
    else
        if (typeof(getComputedStyle) == 'function') return node.ownerDocument.defaultView.getComputedStyle(node, null);
        else
            return node.style;
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования