【问题标题】:Selecting duplicate id's from an SVG exported from Illustrator in d3.js从 d3.js 中的 Illustrator 导出的 SVG 中选择重复的 id
【发布时间】: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 中解决问题的一种方法是对每个元素进行唯一命名,但我认为这会使我的组织有点混乱。

我的问题是:

  1. 是否有严格的规则,即 SVG 中不能重复任何 id,即使它在层次结构中?例如。 1st_floor->elevator_a2nd_floor->elevator_a 永远不会同时出现。
  2. 有没有办法在 d3 中通过 id 的开头选择一个 id(可能通过正则表达式或jquery-like)?例如。 d3.select("[id^='elevator_a']")

【问题讨论】:

    标签: jquery regex svg d3.js adobe-illustrator


    【解决方案1】:
    1. ID 不得重复——它们应该是唯一的,无论它们出现在哪里。

    2. D3 的选择器是CSS selectors。您可以对attribute names 使用正则表达式,使用问题中的语法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-08
      • 2018-12-06
      • 2012-10-25
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多