Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: 0b0rm0t от 16 Сентября 2005, 18:07:19

Название: getAttribute
Отправлено: 0b0rm0t от 16 Сентября 2005, 18:07:19
Кто-нибудь может объяснить такое поведение функции getAttribute?

Суть: я через таблицу стилей назначаю трем объектам (таблица, картинка, ячейка таблицы) свойство "width". Во всех трех случаях это происходит успешно, размер равен указанному. Затем пытаюсь получить значение этого атрибута через getAttribute("width"). Работает только с . У остальных - возвращает "".








   
.
   
.



Название: getAttribute
Отправлено: AlexVN от 17 Сентября 2005, 01:21:37
getAttribute возвращает аттрибут тега, а не стиля.
Надо использовать cell.style.width, что бы получить значение стиля.
Название: getAttribute
Отправлено: 0b0rm0t от 17 Сентября 2005, 12:40:38
Ок, пусть будет так. Тогда понятно, почему не работает.

Но проблема в том, что конструкция object.style.getAttribute() видит только то, что определено как , все что лежит отдельно в таблице стилей будет невидимым.

Пример:





   





Вопрос: как получить атрибуты из таблицы стилей?
Название: getAttribute
Отправлено: AlexVN от 18 Сентября 2005, 02:04:31
В общем так: на сколько я понимаю, есть DOM. И я не уверен, что node.style является элементом Node. Честно говоря, удивлен, что у него getAttribute вообще работает.
Firefox, например, на image.style.getAttribute говорит
Error: image.style.getAttribute is not a function
Source File: file:///c:/temp/1.html
Line: 12

Попробуй такой код:








Название: getAttribute
Отправлено: 0b0rm0t от 18 Сентября 2005, 21:55:34
Спасибо за информацию, но толку - ноль. Твой пример height не видит. IE 6.0.2800
Название: getAttribute
Отправлено: AlexVN от 19 Сентября 2005, 01:26:24
Можешь еще глянуть styleSheet Object:
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_stylesheet.asp
Название: getAttribute
Отправлено: DartSidius от 25 Апреля 2007, 03:42:23
По поводу стилей не уверен что аттрибут с ними работает..он работает именно с аттрибутами тега...т.е. например name, value etc

правильно вот так:

document.getElementById(\'table\').setAttribute(\'width\', 100); - устанавливаем атрибут

var width = document.getElementById(\'table\').getAttribute(\'width\'); - считываем атрибут
Название: getAttribute
Отправлено: DartSidius от 25 Апреля 2007, 03:45:39
По поводу получение аттрибутов таблицы стилей...всё элементарно:

var width = document.getElementById(\'table\').style.width;

и по аналогии для height

var height = document.getElementById(\'table\').style.height;