Об'єкт style в Internet Explorer

Як же отримати доступ до об'єкта 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".

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*