在DOM中获取raphael id属性

时间:2012-06-01 09:09:44

标签: javascript svg raphael

我已使用http://readysetraphael.com/

将一些SVG转换为Rapahel

以下是生成代码的示例:

...
path6233.attr({id: 'path6233' 
...

我查看了attr文档,并没有提到id作为正确的属性。 id属性也没有添加到DOM中。有没有办法让raphael将这个ID添加到DOM中,以便我可以设置元素的样式?

或者,我可以以某种方式遍历所有路径并添加将id attr轻松移动到真正的DOM ID吗?

2 个答案:

答案 0 :(得分:5)

我之前没有见过readysetraphael.com - 这很漂亮。

通过Raphael纸张元素的forEach方法遍历给定SVG容器中的所有元素应该是相当简单的:

var i = 0;
paper.forEach(function (el) 
{
    el.node.setAttribute("id", "node-" + i++ ) );
});

但我应该问 - 既然你已经将你的SVG整合到Raphael中,为什么你不能简单地使用Raphael以编程方式设计它们?对你的推理的好奇心促使我问。

答案 1 :(得分:3)

您可以通过调用node属性来获取DOM元素下的形状,如下所示:

path6233.node.id = 'node-id';