我有多个SVG,我想添加一个ID。问题是它们是由Raphael对象自动创建的。 是否有一种简单的方法可以在Raphael纸上添加ID? (请注意,有多篇论文)
答案 0 :(得分:2)
Raphael中的所有对象都返回一个shape元素,您可以使用node
属性来访问raw元素。从那里可以非常简单地给元素一个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元素。
修改强>:
如果要设置纸质对象的ID(<svg />
元素),可以执行以下操作:
var paper = //get the paper object
paper.canvas.setAttribute('id', 'mySvgElement');