javascript setAttribute函数不允许单位

时间:2014-05-01 18:46:50

标签: javascript svg transform percentage setattribute

当我尝试使用javascript设置transform属性时,我可以放置没有单位的值,并且函数效果很好。

document.getElementById("allnotes").setAttribute('transform','translate(0,10)');

但是,当我尝试放入一个单元时,该功能什么都不做。

document.getElementById("allnotes").setAttribute('transform','translate(0,10pt)');
document.getElementById("allnotes").setAttribute('transform','translate(0,10px)');
document.getElementById("allnotes").setAttribute('transform','translate(0,10%)');

如何使用setAttribute函数并将%作为我的单位而不是固定金额?如果没有指定单位,默认使用哪个单位? *编辑:关于这一点的更多背景是我在内联svg文件的“g”元素上进行翻译。

谢谢,

2 个答案:

答案 0 :(得分:0)

我不确定它应该不起作用 - 我在FF21上试过它并且它有效。你在测试什么浏览器?

答案 1 :(得分:0)

你可以这样做:

/* Chrome, Safari, Opera */
document.getElementById("allnotes").style.webkitTransform = "translate(0,10%)"; 

/* IE 9 */
document.getElementById("allnotes").style.msTransform = "translate(0,10%)"; 

/* No vendor prefix */
document.getElementById("allnotes").style.transform = "translate(0,10%)";

您可以指定您喜欢的任何(有效)单位。

<强> Fiddle