我有SVG的HTML代碼嵌入這樣的:如何直接更改svg中的'transform'屬性?
<svg id="mysvg" ...
<rect id="myrect" x="10" y="10" width="90" height="90" ... />
...
</svg>
在Javascript中,我想矩形旋轉,所以我嘗試(使用jQuery):
$("#myrect").attr("transform", "rotate(45, 50, 50)");
,但它不工作即使在html代碼中,transform
屬性也會添加到矩形中。我嘗試了Element.setAttributeNS()
函數,但它也不起作用。
一些研究之後,我學到了以下方法適用:
var r = $("#mysvg").get(0).createSVGTransform();
var t = $("#myrect").get(0);
t.transform.baseVal.appendItem(r);
r.setRotate(45, 50, 50);
雖然它的工作原理,這將是容易得多,如果我可以直接更改transform
屬性。我不知道是否有任何方法可以這樣做(我可以直接使用$().attr()
更改其他屬性,如x
和y
)。順便說一句,我使用的瀏覽器是Chrome。
@CBroe你試過'.prop'自己嗎?我得到了'不能分配給控制檯中的只讀屬性'變換'對象'錯誤。 –