【发布时间】:2014-07-22 12:03:53
【问题描述】:
我正在使用 D3 将现有的 SVG 图像加载到我的 SVG 上。
如果我要创建自己的元素,我可以轻松地编辑它们的笔触/填充等。
但是对于图像元素,我似乎无法编辑它们。例如这样的:
<image height="32" width="32" xlink:href="some.svg" x="10" y="20"></image>
尝试使用 D3 更改其属性完全没有效果。例如,如果我这样添加:
svg.append('svg:image')
.attr('height', SYMBOL_SIZE)
.attr('width', SYMBOL_SIZE)
.attr('xlink:href', "some.svg")
.style('stroke', 'blue')
.style('fill', 'blue')
.style('cursor', 'move')
它接受我的 x、y、高度、宽度和光标属性/样式,但完全忽略填充/描边。我也不能加边框。
有什么办法可以解决这个问题吗?
【问题讨论】:
-
这是一个更改填充颜色的工作演示:jsfiddle.net/u6wX2
-
您好,感谢您的建议,但我希望在
-
您需要在包含的 SVG 的 DOM 中进行更改。
-
是的,想通了,但不确定是否有任何方法可以从父文档中访问 SVG 的 dom?假设我可能必须使用 Ajax 获取它并在将其插入到我的 dom 之前对其进行编辑?
-
没有
<image>没有。如果要访问嵌入文档的 DOM,则需要使用<object>或<iframe>。
标签: javascript css svg d3.js