Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: 0b0rm0t от 16 Сентября 2005, 18:07:19
-
Кто-нибудь может объяснить такое поведение функции getAttribute?
Суть: я через таблицу стилей назначаю трем объектам (таблица, картинка, ячейка таблицы) свойство "width". Во всех трех случаях это происходит успешно, размер равен указанному. Затем пытаюсь получить значение этого атрибута через getAttribute("width"). Работает только с . У остальных - возвращает "".
-
getAttribute возвращает аттрибут тега, а не стиля.
Надо использовать cell.style.width, что бы получить значение стиля.
-
Ок, пусть будет так. Тогда понятно, почему не работает.
Но проблема в том, что конструкция object.style.getAttribute() видит только то, что определено как , все что лежит отдельно в таблице стилей будет невидимым.
Пример:
Вопрос: как получить атрибуты из таблицы стилей?
-
В общем так: на сколько я понимаю, есть 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
Попробуй такой код:
-
Спасибо за информацию, но толку - ноль. Твой пример height не видит. IE 6.0.2800
-
Можешь еще глянуть styleSheet Object:
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_stylesheet.asp
-
По поводу стилей не уверен что аттрибут с ними работает..он работает именно с аттрибутами тега...т.е. например name, value etc
правильно вот так:
document.getElementById(\'table\').setAttribute(\'width\', 100); - устанавливаем атрибут
var width = document.getElementById(\'table\').getAttribute(\'width\'); - считываем атрибут
-
По поводу получение аттрибутов таблицы стилей...всё элементарно:
var width = document.getElementById(\'table\').style.width;
и по аналогии для height
var height = document.getElementById(\'table\').style.height;