在SVG元素(Raphael)上设置自定义属性

ivk*_*mer 3 javascript svg attributes dom raphael

当我将ID设置为SVG元素时

var circle = paper.circle(x, y, r);
circle.node.id = 'circle-id';
Run Code Online (Sandbox Code Playgroud)

一切都很好,使用调试器浏览文档时,我可以看到如下所示的预期结果:

<circle cx="320" cy="240" r="4" fill="none" stroke="#000" id="circle-id" />
Run Code Online (Sandbox Code Playgroud)

然后,我可以通过document.getElementById方法或jQuery 通过id获取此元素。但是添加其他一些属性失败。如果我尝试添加属性custom

circle.node.custom = 'custom-attr';
Run Code Online (Sandbox Code Playgroud)

我没看到效果。

我们可以使用Raphael向SVG元素添加哪种属性,以及如何添加任意属性?

xan*_*ded 5

node是DOM元素,id是元素上的标准属性,用于快速读取/写入其值。使用该setAttribute方法设置非标准属性。

circle.node.setAttribute('custom', 'custom-attr');
Run Code Online (Sandbox Code Playgroud)