我在具有唯一ID的数据库中有信息。当使用svg.js进行绘制时,我想将id存储在svg中,然后以后可以通过从数据库中搜索id来找到svg元素。
我想出了两种选择。
使用SVG.select https://svgjs.com/docs/2.7/referencing/#using-css-selectors,它返回与特定类匹配的元素。然后,我可以为每个元素指定从db-id
使用data()https://svgjs.com/docs/2.7/manipulating/#data来存储并获取我的数据库ID。
有任何建议或评论吗?
我尝试使用上面的选择替代项1,但没有使它起作用。
然后我通过设置id尝试了第三种选择:
circle1.attr('id','myid1');
然后
var element = SVG.get('myid1')
可以,但是我不确定设置id是否会破坏svg.js实现中的任何内容
答案 0 :(得分:2)
在svg.js中使用自己的ID完全可以。
创建元素后,只需将id传递给id
方法即可
canvas.rect(100, 200).id('myId')
您以后可以使用SVG.get('myId')
或SVG.select('#myId').first()
获得该元素。
确保您尽快设置了ID。在链接图案填充和渐变时,它们很重要。
与上述相同,但是您现在使用SVG('#myId')
来检索元素或SVG.find('#myId')[0]