Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
Дима Паутов
@bootd
Гугли и ты откроешь врата знаний!
JavaScript
SVG
Как узнать ширину и высоту элемента path с помощью javascript?
Мне нужно узнать размер элемента path в моём svg. Но беда в том, что используя метод width(), то значение я получаю 0
Вопрос задан
более трёх лет назад
2540 просмотров
Комментировать
Подписаться
2
Оценить
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
1
teotlu
@teotlu
Навёрстываю упущенное
clientWidth не работает, проверил.
Зато сработает
вот это
. На всякий случай тоже проверил, работает.
Ответ написан
более трёх лет назад
12
комментариев
Нравится
12
комментариев
Facebook
Вконтакте
Twitter
Дима Паутов
@bootd
Автор вопроса
А можно ваш пример? У меня не срабатывает, ошибка
Вот пример: console.log(el.getBoundingClientRect). Пишет: el.getBoundingClientRect is not a function
Написано
более трёх лет назад
Александр
@lebonnet
аналогично
jsfiddle.net/2prybs45
Написано
более трёх лет назад
Дима Паутов
@bootd
Автор вопроса
lebonnet
: такой вопрос, почему он через $('path') не хочет, а document.getElementsByTagName('path') хочет?
Написано
более трёх лет назад
Денис Инешин
@IonDen
Дима Турков
: $('path') возвращает jQuery объект, а не ноду. Чтобы из jQuery объекта эту ноду выдрать, нужно сделать так: $('path')[0]
Написано
более трёх лет назад
Александр
@lebonnet
Дима Турков
:
Денис Инешин
: у меня не получилось ни через jQuery, ни нативно, у кого заработало покажите пример.
Написано
более трёх лет назад
Евгений Петров
@Petroveg
Денис Инешин
: Самое удивительное, что getElementsByTagName вернёт коллекцию, из которой нужно дёргать узел или по индексу, или по имени...
Написано
более трёх лет назад
Денис Инешин
@IonDen
lebonnet
: вот пример на чистом JS:
jsfiddle.net/IonDen/refm825y
Написано
более трёх лет назад
Александр
@lebonnet
Евгений Петров
: точно, блин там же массив!
jsfiddle.net/2prybs45/1
Написано
более трёх лет назад
teotlu
@teotlu
jsfiddle.net/ce0twtgu/2
— вот пример. Выдрал из какого-то своего svg кусок.
Написано
более трёх лет назад
Евгений Петров
@Petroveg
lebonnet
: Только getBoundingClientRect и getClientRects — трудоёмкие операции. Выполняйте запрос 1 раз, после чего уже обращаетесь к свойствам.
Написано
более трёх лет назад
Евгений Петров
@Petroveg
lebonnet
: И getElementsByTagName вернёт коллекцию, а не массив. Похоже, но не одно и то же.
Написано
более трёх лет назад
Дима Паутов
@bootd
Автор вопроса
Многое узнал. Большое спс всем!
Написано
более трёх лет назад
Пригласить эксперта
Ответы на вопрос
1
Дмитрий
@dmitrynod
попробуй $('svg#test').get(0).clientWidth должно сработать
Ответ написан
более трёх лет назад
3
комментария
Нравится
3
комментария
Facebook
Вконтакте
Twitter
Дима Паутов
@bootd
Автор вопроса
Я исправил вопрос, мне не сам SVG элемент нужен, а его дочерние, в моем случае это элемент path!
Написано
более трёх лет назад
Дмитрий
@dmitrynod
Дима Турков
: селектор просто для примера. Так же можно выбрать path и от него уже get(0).clientWidth
Написано
более трёх лет назад
teotlu
@teotlu
Дмитрий
: это не работает.
Написано
более трёх лет назад
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
JavaScript
+1 ещё
Простой
Как сделать что бы счетчик обновлялся без перезагрузки страницы YITH WooCommerce Wishlist?
1 подписчик
7 часов назад
25 просмотров
0
ответов
JavaScript
Простой
Используют ли сейчас повсеместно class?
1 подписчик
12 часов назад
104 просмотра
1
ответ
JavaScript
+1 ещё
Простой
Как указать путь в JS к json-файлу, чтобы он учитывался при сборке (parcel js)?
1 подписчик
29 мар.
53 просмотра
1
ответ
JavaScript
+3 ещё
Простой
Как реализовать обновление цены?
1 подписчик
29 мар.
122 просмотра
0
ответов
JavaScript
+1 ещё
Простой
Как перевести vanilla js класс в react среду?
1 подписчик
29 мар.
89 просмотров
1
ответ
JavaScript
Простой
Как сравнить элементы одного массива с элементами другого массива?
1 подписчик
28 мар.
101 просмотр
1
ответ
JavaScript
Простой
Как имитировать нажатие клавиши Enter?
2 подписчика
28 мар.
475 просмотров
2
ответа
JavaScript
Простой
Как изменить значение поля input, после сохранение старое значение восстанавливается?
1 подписчик
28 мар.
104 просмотра
2
ответа
JavaScript
+1 ещё
Простой
Как заново включить анимацию картинке?
1 подписчик
26 мар.
107 просмотров
1
ответ
JavaScript
+2 ещё
Средний
Почему у меня не работает vite при запуске npm run dev в Docker compose?
1 подписчик
26 мар.
123 просмотра
0
ответов
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
JavaScript веб-разработчик (Backend)
TurboProject
от 60 000 ₽
Middle javascript разработчик
Neat-Studio
от 100 000 до 120 000 ₽
Tech Lead/ Team Lead (JavaScript)
SteadyControl
•
Воронеж
До 200 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама