2

我有多个要添加 ID 的 SVG。问题是它们是由 Raphael 对象自动创建的。有没有一种简单的方法可以将 ID 添加到 Raphael 论文中?(注意有多篇论文)

4

1 回答 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 回答