我目前在Illustrator上有一个文件需要处理。在这个文件(SVG)中,有许多矩形或“路径”,它们被命名为(路径)。在这些路径的顶部,有一些文本,我想使用这些文本来将文档中的所有路径重命名为它们的特定(ID)。
enter image description here ID只是位于文档路径顶部的文本。希望您能够在上面的图像中看到我的意思。
目前,文本和那些框是分开的,我需要用位于它们上面的相应文本重命名这些框。
我目前正在通过手动复制和粘贴文本并重命名框来完成此操作。
有人知道如何写一些东西,将自动为我吗?
我对编程世界还很陌生。我甚至不知道从哪里开始。
我在想像Snap.svg这样的JS库会很好吗?
任何帮助都将不胜感激,因为这份文件是非常非常大的(不仅仅是那张图片),它需要很长的时间来做到这一点。
我试过看Snap.svg,但由于我缺乏经验,我不知道从哪里开始。有更多经验的人可能会发现这非常简单,需要几分钟才能想出解决方案。
1条答案
按热度按时间ijxebb2r1#
通过
document.elementsFromPoint()
搜索底层元素请记住:svg
<text>
元素不能嵌套在<rects>
这样的形状中-所以我们不能查询子元素。document.elementsFromPoint()
返回特定点坐标处的元素数组,所有主流浏览器都原生支持document.elementsFromPoint()
-不需要snap.svg或其他库。1.查询所有
<text>
元素1.获取中心坐标:
let bb = label.getBoundingClientRect();
let x = bb.left + bb.width/2;
let y = bb.top + bb.height/2;
1.查找元素
let els = document.elementsFromPoint(x, y)