如何使用我自己的 id 来识别元素
How to use my own ids to identify an element
我在具有唯一 ID 的数据库中拥有信息。使用 svg.js 绘图时,我想将 id 存储在 svg 中,然后通过从数据库中搜索 id 来找到 svg 元素。
我想到了两个备选方案。
使用 SVG.select, https://svgjs.dev/docs/2.7/referencing/#using-css-selectors ,即匹配特定 class 的 returns 元素。然后我可以给每个元素一个特定的 class 从 db-id
计算出来的名字
使用 data(),https://svgjs.dev/docs/2.7/manipulating/#data 来存储和获取我的 db-id。
有什么建议或意见吗?
我尝试使用 select,上面的备选方案 1,但没有成功。
然后我通过设置 id 尝试了第三种选择:
circle1.attr('id', 'myid1');
然后
var 元素 = SVG.get('myid1')
这行得通,但我不确定设置 id 是否会破坏 svg.js
的实现
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]
我在具有唯一 ID 的数据库中拥有信息。使用 svg.js 绘图时,我想将 id 存储在 svg 中,然后通过从数据库中搜索 id 来找到 svg 元素。
我想到了两个备选方案。
使用 SVG.select, https://svgjs.dev/docs/2.7/referencing/#using-css-selectors ,即匹配特定 class 的 returns 元素。然后我可以给每个元素一个特定的 class 从 db-id
计算出来的名字使用 data(),https://svgjs.dev/docs/2.7/manipulating/#data 来存储和获取我的 db-id。
有什么建议或意见吗?
我尝试使用 select,上面的备选方案 1,但没有成功。
然后我通过设置 id 尝试了第三种选择:
circle1.attr('id', 'myid1');
然后
var 元素 = SVG.get('myid1')
这行得通,但我不确定设置 id 是否会破坏 svg.js
的实现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]