【问题标题】:Using svg.js, how can I access the child nodes of an element?使用 svg.js,如何访问元素的子节点?
【发布时间】:2017-05-22 10:09:34
【问题描述】:

我正在使用

访问我的 HTML 中的现有 DOM SVG 元素
svgEle = SVG.adopt(svgDocument.getElementById('svg'));

如何在不单独采用 svgEle 的子元素的情况下访问它们? 我试过了

 elementById = svgEle.select("#" + id);

elementById = svgEle.get(id);

【问题讨论】:

    标签: javascript html svg svg.js


    【解决方案1】:

    在 SVG.js 3.0+ 中,API 发生了变化,您应该使用 .find().findOne() 方法而不是 .select()

    在此处查看参考:https://svgjs.dev/docs/3.0/referencing-creating-elements/#using-css-selectors

    【讨论】:

      【解决方案2】:

      你使用select(<CSS Selector>)

      svgEle = SVG.adopt(document.getElementById('svg'))
      
      svgEle.select("#keys")
          .stroke('yellow')
      

      SVG.get(<ID>) 仅适用于由 SVG.js 创建的 SVG 元素。

      这里是 jsfiddle 来说明:https://jsfiddle.net/dotnetCarpenter/yy2opz8s/2/

      【讨论】:

      • 谢谢,当我尝试使用 elementById = svgEle.select("#" + id);是我有一个'。在不起作用的id中。
      • 请注意select 返回一个SVG.Set。要获取集合的元素,您可以使用 first(), get(index), last()
      猜你喜欢
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      相关资源
      最近更新 更多