【发布时间】:2015-09-04 06:32:04
【问题描述】:
我目前正在尝试使用我在 Illustrator 中使用 d3.js 创建的相当复杂的 SVG。 SVG 是一个平面图,每一层都是它自己的层。要显示一层,我只需要显示该层,并隐藏其他层,将它们全部保存在一个 SVG 中非常方便。
我遇到的一个问题是,当我从 Illustrator 导出时,有一些元素具有相同的名称。例如,我在每个楼层都有一个Elevator A 元素。但是,当我导出到 SVG 时,它将通过将它们重命名为 id = "elevator_a_1" 和 id = "elevator_a_2" (但不一定按顺序)来消除重复的 id。我想我可以在 Illustrator 中解决问题的一种方法是对每个元素进行唯一命名,但我认为这会使我的组织有点混乱。
我的问题是:
- 是否有严格的规则,即 SVG 中不能重复任何 id,即使它在层次结构中?例如。
1st_floor->elevator_a、2nd_floor->elevator_a永远不会同时出现。 - 有没有办法在 d3 中通过 id 的开头选择一个 id(可能通过正则表达式或jquery-like)?例如。
d3.select("[id^='elevator_a']")
【问题讨论】:
标签: jquery regex svg d3.js adobe-illustrator