2016-08-04 19 views
0

Ich habe ein Problem mit der Breite von <g></g> Element mit jQuery bekommen. Mit .innerWidth() oder width() gibt mich null zurück. Ist es möglich, die <g></g> Breite mit jquery zu erhalten?Wie bekomme ich die Breite eines Elements?

Ich frage das, wegen Rendering Unterschiede zwischen Chrome und IE. In Chrom verwende ich einfach:

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

Aber in IE funktioniert es nicht - es die widht von 0.

+0

jQuery nicht SVGs unterstützen, Verhalten mit Svgs ist schwer vor allem Cross-Browser vorauszusagen. Vielleicht suchen Sie nach einer SVG-spezifischen Bibliothek. – user3154108

+1

Vielleicht [diese Frage] (http://stackoverflow.com/questions/11702952/how-to-get-the-width-of-s-svgg-element) kann helfen. – HiDeo

Antwort

0

Id Element hinzufügen zurück Vielleicht arbeiten

<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> 
Verwandte Themen