Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить ширину html элемента?(возвращает NaN или auto) (https://javascript.ru/forum/misc/26811-kak-poluchit-shirinu-html-ehlementa-vozvrashhaet-nan-ili-auto.html)

manking 23.03.2012 03:18

Как получить ширину html элемента?(возвращает NaN или auto)
 
Как получить готовую ширину и высоту для элемента которую использует браузер в пикселях?
Использую SVG который создает такие теги
<path id="jvectormap1_ve" d="M250.46,305.92l0.44,2.59l3.25,1.03l0.74-4.77l3.43-3.55l3.43,4.02l7.89,2.15l6.68-1.4l4.55,5.61l3.43,2.15l-3.76,5.73l1.26,4.34l-2.15,2.66l-2.23,1.87l-4.83-2.43l-1.11,1.12v3.46l3.53,1.68l-2.6,2.81l-2.6,2.81l-3.43-0.28l-3.45-3.79l-0.73-14.26l-11.78-4.02l-2.14-6.27L250.46,305.92L250.46,305.92z" fill="#BCBCBC" fill-opacity="1">


Эти тэги видны в браузере и firebug на вкладке html->макет определяет их высоту и ширину.
Использовал следующие свойства и все возвращают либо Nan либо auto либо null.

width();
clientWidth();
getComputedStyle();


// jquery
width();
innerWidth();
css();


Есть такие данные получающие расстояние слева и сверху
$().offset().left
$().offset().top

Но теперь мне нужна ширина и высота элемента чтобы точно определить координаты его центра.

manking 23.03.2012 03:42

Нашел решение, но не уверен что оно правильное или будет везде работать
document.getElementById("id").getBBox().width

nerv_ 23.03.2012 12:17

offsetWidth / clientWidth [по ситуации]
<div onclick="alert(this.offsetWidth)">text</div>


Часовой пояс GMT +3, время: 22:40.