如何使用我自己的ID来识别元素

时间:2019-01-28 11:10:43

标签: svg.js

我在具有唯一ID的数据库中有信息。当使用svg.js进行绘制时,我想将id存储在svg中,然后以后可以通过从数据库中搜索id来找到svg元素。

我想出了两种选择。

  1. 使用SVG.select https://svgjs.com/docs/2.7/referencing/#using-css-selectors,它返回与特定类匹配的元素。然后,我可以为每个元素指定从db-id

  2. 计算出的特定类名称
  3. 使用data()https://svgjs.com/docs/2.7/manipulating/#data来存储并获取我的数据库ID。

有任何建议或评论吗?

我尝试使用上面的选择替代项1,但没有使它起作用。

然后我通过设置id尝试了第三种选择:

circle1.attr('id','myid1');

然后

var element = SVG.get('myid1')

可以,但是我不确定设置id是否会破坏svg.js实现中的任何内容

1 个答案:

答案 0 :(得分:2)

svg.js v2.x

在svg.js中使用自己的ID完全可以。 创建元素后,只需将id传递给id方法即可

canvas.rect(100, 200).id('myId')

您以后可以使用SVG.get('myId')SVG.select('#myId').first()获得该元素。 确保您尽快设置了ID。在链接图案填充和渐变时,它们很重要。

svg.js v3.x

与上述相同,但是您现在使用SVG('#myId')来检索元素或SVG.find('#myId')[0]