Объект style в Internet Explorer

Автор: Topol Понедельник, Апрель 16th, 2012 Нет комментариев

Рубрика: Сайтостроение

Как же получить доступ к объекту style? Internet Explorer предоставляет для этого три свойства: style, currentStyle и runtimeStyle.

Первое свойство позволяет получить доступ к стилю, встроенному в тег элемента с помощью атрибута STYLE:

<P id="par1" style="color: green">Любой текст</P>
someColor = par1.style.color;

Вышеприведенное выражение поместит в переменную someColor значение атрибута colorвстроенного стиля элемента, т.е. «green».

someFontSize = par1.style.fontSize;


Это выражение вернет null, даже если где-то в таблице стилей атрибут font-size для этого элемента определен. А все потому, что интересы свойства style не выходят за рамки встроенного ситиля.

Чтобы получить стиль элемента с учетом и встроенных стилей, и таблиц стилей, и атрибутов тега, используйте свойство currentStyle:

<FONT id="par1" style="color: green" size="7">Любой текст</FONT>
someColor = par1.currentStyle.color;
someBColor = par1.currentStyle.backgroundColor;
someFontSize = par1.currentStyle.fontSize;
someOther = par1.currentStyle.textDecoration;

Предположим, что где-то в таблице стилей определен для этого элемента атрибут background-color, равный «teal», а text-decoration не определен вообще. Эти выражения вернут следующие значения: первое — «green», второе — «teal», третье — «largest» (или «7″), а четвертое — «none»? т.е. значение по умолчанию для этого атрибута стиля.

Если вы измените какое-либо свойство объекта style, измениться то же свойство и у объекта currentStyle, и наоборот. Единственная деталь: если вы изменили какое-либо свойство currentStyle и потом сразу же обратились к нему, вернется старое значение. То есть, между присвоением значения и его применением к элементу должно пройти некоторое время.

Свойство runtimeStyle довольно странное. Оно возвращает ссылку на объект runtimeStyle, который является примерно тем же самым, что и currentStyle, но присвоение его свойствам новых значений не затригивает аналогичных свойств style. То есть, вы можете переопределить свойства стиля runtimeStyle, и соответствующие свойства style (но не currentStyle) не изменятся.

Объект styleSheet и коллекция styleSheets:

Объект document в IE имеет встроенную коллекцию styleSheets, которую можно использовать для доступа к отдельным таблицам стилей документа. А отдельная таблица стилей представляется объектом styleSheet:

address = document.styleSheets(1).href;
Для нас будут полезны три свойства объекта таблицы стилей. Первое из них — это href, представляющее интернет-адресс файла внешней таблицы стилей. Вы можете изменить этот адрес, чтобы загрузить другую таблицу стилей. Второе — disabled, разрешающее или запрещающее Web-обозревателю применять эту таблицу для форматирования документа. Заметьте, что в данном случае false разрашает применение таблицы, а true запрещает. И последнее свойство — type — имеет для нас только теоретический интерес: оно задает тип таблицы стилей, который для IE всегда равен «text/css».
Источник: webcorp.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты