3

我已经使用http://readysetraphael.com/将一些 SVG 转换为 Rapahel

这是生成的代码示例:

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

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

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

4

2 回答 2

5

我以前没看过 readysetraphael.com —— 这很漂亮。

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

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

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

于 2012-06-01T18:18:20.667 回答
3

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

path6233.node.id = 'node-id';
于 2012-06-03T07:36:52.413 回答