Ответ 1
Вы можете использовать метод getBBox() объекта SVGElement. Он сообщает вам ширину и высоту, x и y смещение в пикселях без учета масштабирования элемента.
document.getElementById('myelem').getBBox().width
document.getElementById('myelem').getBBox().height
Я думаю, что - это то, что вы ищете.
EDIT:
-
Недавно я узнал, что малоизвестный
getBoundingClientRect()
работает! Вы также можете сделать:var el = document.getElementById('myelem'); var mywidth = el.getBoundingClientRect().width;
-
Имейте в виду, что существует разница между getBBox и getBoundingClientRect. getBBox получает начальные размеры - getBoundingClientRect также относится к преобразованиям, выполненным с помощью масштабирования и т.д.