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

Javascript 在svg元素(Raphael)上设置自定义属性,javascript,dom,svg,attributes,raphael,Javascript,Dom,Svg,Attributes,Raphael,当我将id设置为svg元素时 var circle = paper.circle(x, y, r); circle.node.id = 'circle-id'; 一切正常,使用调试器浏览文档时,我可以看到如下预期结果: <circle cx="320" cy="240" r="4" fill="none" stroke="#000" id="circle-id" /> 我看不出有什么效果 我们可以使用Raphael向SVG元素添加什么类型的属性,以及如何添加任意属性?node是D

当我将id设置为svg元素时

var circle = paper.circle(x, y, r);
circle.node.id = 'circle-id';
一切正常,使用调试器浏览文档时,我可以看到如下预期结果:

<circle cx="320" cy="240" r="4" fill="none" stroke="#000" id="circle-id" />
我看不出有什么效果


我们可以使用Raphael向SVG元素添加什么类型的属性,以及如何添加任意属性?

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

circle.node.setAttribute('custom', 'custom-attr');

不断使用jQuery编码并没有让我想到DOM实际上是如何组织的。非常感谢。课程:了解有关实际Javascript的更多信息。jQuery不是圣杯。为什么要设置自定义属性?@stewbydoo,我想要一些html元素与一些svg元素通信。例如,在某些div mouseover上更改某些svg元素的背景,在mouseout上将其更改回来。但是使用
$('elem-elector').attr('fill','')更改回
失败。通过在svg元素上存储
original color
属性,可以轻松实现此功能。在我看来,使用:hover伪类比使用自己的实现要好得多@Robert Longson我需要的是将一些div悬停链接到SVG元素中的一些更改。我有一些div与SVG路径配对,因此我认为我不能使用CSS
:hover
声明。我的意思是,在div上悬停不会影响div,而是影响链接的SVG元素。
circle.node.setAttribute('custom', 'custom-attr');