【问题标题】:create SVG group with JavaScript使用 JavaScript 创建 SVG 组
【发布时间】:2014-03-29 18:35:07
【问题描述】:

我想使用 JavaScript 为 SVG 创建带有 g 标记名的元素。

下一个代码可以在 Google Chrome 中运行,但不能在 Firefox 中运行,我希望这两个都可以运行。

svg=document.getElementsByTagName("svg").item(0)
group=document.createElementNS("http://www.w3.org/2000/svg","g");
group.setAttribute("name","mygroup")
svg.appendChild(group);

有人知道解决办法吗?

【问题讨论】:

  • 我认为您需要改用 getElementsByTagNameNS 并提供 SVG 命名空间作为参数之一。

标签: javascript google-chrome firefox svg


【解决方案1】:

这里唯一明显的“问题”是名为name 的属性在SVG 中没有意义。你的意思是id吗?

【讨论】:

  • 是的,这条线不起作用,在 chrome 运行中。 id 对我的 porpose 没用。
【解决方案2】:

我唯一的问题是你的第一行:

svg=document.getElementsByTagName("svg").item(0)

我刚刚在一些浏览器中进行了快速尝试(抱歉,我没有以远程理智的方式安装 FireFox)并且有些浏览器没有获得 SVG,即使它是页面上唯一的一个。所以我给了 SVG 一个 ID,然后它就起作用了。见:http://jsfiddle.net/9RhG2/

【讨论】:

  • 尝试改用 getElementsByTagNameNS
猜你喜欢
  • 2021-11-10
  • 1970-01-01
  • 2011-02-27
  • 2014-10-09
  • 2014-05-18
  • 2021-07-09
  • 1970-01-01
  • 2019-02-22
相关资源
最近更新 更多