2016-08-04 2 views
0

У меня возникла проблема с получением ширины элемента <g></g> с использованием jQuery. Использование .innerWidth() или width() возвращает мне null. Можно ли получить ширину <g></g> с помощью jquery?Как получить ширину элемента g?

Я прошу об этом из-за различий между Chrome и IE. В хроме я просто использую:

var box = svg.node().getBBox(); 
var width = box.width; 

Но в IE он не работает - она ​​возвращает widht 0.

+0

JQuery не поддерживает SVGs, поведение с svgs трудно предсказать особенно в перекрестном браузере. Возможно, найдите специальную библиотеку svg. – user3154108

+1

Возможно [этот вопрос] (http://stackoverflow.com/questions/11702952/how-to-get-the-width-of-an-svgg-element) может помочь. – HiDeo

ответ

0

Добавить Id к элементу Может работать

<svg viewBox="0 0 95 50" 
      xmlns="http://www.w3.org/2000/svg"> 
      <g stroke="green" fill="white" stroke-width="5" id="myGroup"> 
      <circle cx="25" cy="25" r="15"/> 
      <circle cx="40" cy="25" r="15"/> 
      <circle cx="55" cy="25" r="15"/> 
      <circle cx="70" cy="25" r="15"/> 
      </g> 
     </svg> 
     <script> 
     $(document).ready(function(){ 
      var height = document.getElementById("myGroup").getBBox().height; 
      var width = document.getElementById("myGroup").getBBox().width; 
      alert(" width "+width+" height "+height); 
     }); 
     </script> 
Смежные вопросы