我有多个要添加 ID 的 SVG。问题是它们是由 Raphael 对象自动创建的。有没有一种简单的方法可以将 ID 添加到 Raphael 论文中?(注意有多篇论文)
问问题
1232 次
1 回答
2
Raphael 中的所有对象都返回一个 shape 元素,您可以使用该node
属性来访问原始元素。从那里给元素一个ID相当简单。
例如,要创建一个带有 ID 的矩形:
paper.rect(0, 0, 300, 300, 0).attr({fill: "orange", stroke: "none"}).node.setAttribute('id', 'myElement');
还有一个可以看到它的工作小提琴:http: //jsfiddle.net/CwmZr/1/
请注意,Raphael 可能并不总是使用 SVG。在旧版本的 IE 中,它将使用 VML,因此node
可能会引用 VML 元素,而不是 SVG 元素。
编辑:
如果要设置纸张对象(<svg />
元素)的 ID,可以执行以下操作:
var paper = //get the paper object
paper.canvas.setAttribute('id', 'mySvgElement');
于 2012-11-21T15:21:43.260 回答