Объект style в Internet ExplorerИсточник: wm-help
Как же получить доступ к объекту 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". |