Когда вы говорите box.id
, вам возвращается атрибут id
элемента box, как объявлено в вашем html.
Когда вы говорите box.style
, вы получаете доступ к объекту javascript, также созданному на основе вашей разметки.
Атрибуты стиля, которые не определены встроенными, не используются при создании dom-представления атрибута style.
Вот статья , которая освещает это поведение.
Однако, если вы используете библиотеку, такую как jQuery, вы можете сделать
$(function(){alert($("#textBox").css("width"));});
даст вам значение CSS.
ОБНОВЛЕНИЕ:
Спасибо AVD за то, что он указал мне правильное направление: Вот метод, который использует его решение, но добавляет поддержку дляIE <9: </p>
var box = document.getElementById("testBox");
var style = window.getComputedStyle ? window.getComputedStyle(box) : box.currentStyle;
alert("Height : " + style["height"]);
alert("Width : " + style["width"]);
alert("Left : " + style["left"]);
Вот скрипка .