如何在javascript中正确设置SVG的宽度和高度?

语素

我在javascript中设置了SVG图片的宽度和高度,因此无法正常工作。我的代码是这样的:

var url = "https://dl.dropboxusercontent.com/u/74728667/left_arrow.svg";
var main = document.getElementById("main");
var xhr = new XMLHttpRequest();
        xhr.open('get', url, true);
        xhr.onreadystatechange = function(ev)
        {
            if (xhr.readyState === 4)
            {
                if (xhr.status === 200)
                {
                     var e = xhr.responseXML.documentElement;
                var svg = document.importNode(e, true); 
                svg.setAttribute("width", "28px");
                svg.setAttribute("height", "28px");
            svg.style.border="1px solid black";
            svg.style.position="absolute";
            svg.style.left="50px";
            svg.style.top="50px";
            main.appendChild(svg);
                }
                else
                {
                    alert("request failed");
                }
            }           
        };
        xhr.send(); 

上面的代码产生如下结果:

在此处输入图片说明

请注意,SVG不会调整为指定的宽度和高度。我怎样才能解决这个问题?我尝试使用svg.setAttributeNS(null, "width", "28px");

我检查了上面的代码生成的结果html,如果我将其复制粘贴到单独的小提琴中则会得到以下信息:

HTML:

<div id="main" style="position:relative"><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 18 18" width="28px" height="28px" style="border: 1px solid black; position: absolute; left: 50px; top: 50px;">
    <path fill="#a00" fill-opacity="1" stroke="none" d="M 0,9 l 17,9 -6,-9 6,-9 Z" onmouseover="evt.target.setAttribute('fill', '#ac0');" onmouseout="evt.target.setAttribute('fill','#a00');"></path>
</svg></div>

输出:

在此处输入图片说明

如何使我的js代码产生与上述相同的结果?

defghi1977

此问题是由源svg文件中的视图“ b” ox拼写错误引起的。
Web浏览器不会将视图“ b” ox属性视为视图“ B” ox属性,因为独立的svg文件是xml文件。
因此,您应该像这样更正svg源。

<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 18 18"
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"

但是这些属性在html的内联svg中被视为相同。
此行为由HTML解析规则定义,请参见此。
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#creating-and-inserting-nodes

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iOS 8中设置UIAlertController的高度和宽度

来自分类Dev

如何按百分比设置svg宽度和svg高度?

来自分类Dev

如何设置绘制的位图的宽度和高度

来自分类Dev

在Javascript中设置部分的宽度和高度

来自分类Dev

如何在javascript中正确设置SVG的宽度和高度?

来自分类Dev

如何设置jpanel的高度和宽度

来自分类Dev

如何在Joomla中正确设置缓存和压缩

来自分类Dev

在UITableView中正确设置UIImageVIew的高度和宽度的方法是什么?

来自分类Dev

如何设置MPAndroidChart BarChart的高度和宽度?

来自分类Dev

Javascript如何设置自己的img宽度和高度(调整大小)

来自分类Dev

如何设置JavaFX TextArea的高度和宽度?

来自分类Dev

如何在Activity中正确设置CountDownTimer

来自分类Dev

如何在SwiftUI中设置图像的宽度和高度?

来自分类Dev

如何从导入的SVG设置画布的高度和宽度

来自分类Dev

如何在OpenCV Python中设置框架的高度和宽度

来自分类Dev

如何在递归javascript调用中正确设置return语句?

来自分类Dev

如何设置图像的高度和宽度相同?

来自分类Dev

如何控制svg元素的宽度和高度

来自分类Dev

如何将固定宽度和高度设置为SVG

来自分类Dev

如何在Libgdx中设置屏幕的宽度和高度?

来自分类Dev

图片的高度和宽度设置为100%,无法在Android浏览器中正确调整大小。

来自分类Dev

如何在Joomla中正确设置缓存和压缩

来自分类Dev

如何设置宽度和高度的重量?

来自分类Dev

如何在js中设置图像对象的高度和宽度

来自分类Dev

如何在图像C#中设置宽度和高度

来自分类Dev

如何使 svg 适合 html 的宽度和高度?

来自分类Dev

如何在 Javascript 上测量旋转元素的宽度和高度?

来自分类Dev

如何在 javascript 中正确设置链接变量?

来自分类Dev

如何在反应中获得正确的画布宽度和高度?

Related 相关文章

  1. 1

    如何在iOS 8中设置UIAlertController的高度和宽度

  2. 2

    如何按百分比设置svg宽度和svg高度?

  3. 3

    如何设置绘制的位图的宽度和高度

  4. 4

    在Javascript中设置部分的宽度和高度

  5. 5

    如何在javascript中正确设置SVG的宽度和高度?

  6. 6

    如何设置jpanel的高度和宽度

  7. 7

    如何在Joomla中正确设置缓存和压缩

  8. 8

    在UITableView中正确设置UIImageVIew的高度和宽度的方法是什么?

  9. 9

    如何设置MPAndroidChart BarChart的高度和宽度?

  10. 10

    Javascript如何设置自己的img宽度和高度(调整大小)

  11. 11

    如何设置JavaFX TextArea的高度和宽度?

  12. 12

    如何在Activity中正确设置CountDownTimer

  13. 13

    如何在SwiftUI中设置图像的宽度和高度?

  14. 14

    如何从导入的SVG设置画布的高度和宽度

  15. 15

    如何在OpenCV Python中设置框架的高度和宽度

  16. 16

    如何在递归javascript调用中正确设置return语句?

  17. 17

    如何设置图像的高度和宽度相同?

  18. 18

    如何控制svg元素的宽度和高度

  19. 19

    如何将固定宽度和高度设置为SVG

  20. 20

    如何在Libgdx中设置屏幕的宽度和高度?

  21. 21

    图片的高度和宽度设置为100%,无法在Android浏览器中正确调整大小。

  22. 22

    如何在Joomla中正确设置缓存和压缩

  23. 23

    如何设置宽度和高度的重量?

  24. 24

    如何在js中设置图像对象的高度和宽度

  25. 25

    如何在图像C#中设置宽度和高度

  26. 26

    如何使 svg 适合 html 的宽度和高度?

  27. 27

    如何在 Javascript 上测量旋转元素的宽度和高度?

  28. 28

    如何在 javascript 中正确设置链接变量?

  29. 29

    如何在反应中获得正确的画布宽度和高度?

热门标签

归档