SVG是如何用HTML绘制的

时间:2014-01-27 10:03:38

标签: javascript svg snap.svg

美好的一天,

当我注意到这种行为时,我正在玩SVG。

背景:我使用snap.svg加载SVG。我想要替换的节点位于组< g>内。节点

我使用document.getElementById选择了一个SVG节点。然后我得到了父母。然后我用另一组SVG文本替换了父文本的textContent属性。但是,新的SVG不可见。

我在谷歌浏览器中打开了开发人员工具。我在节点树视图中选择了相同的节点。我将节点编辑为HTML,用新的SVG文本替换所有SVG节点。但是,新的SVG不可见。

最后,我选择了根元素,SVG标签本身。然后将SVG标记编辑为HTML,将SVG文本作为最后一个子元素附加。现在新的SVG可见了吗?

我应该注意SVG绘图规则吗?我在其他问题中读过,很难/不可能替换SVG文本,使用node.innerHTML可以替换HTML的保存方式。

2 个答案:

答案 0 :(得分:1)

你看过使用Snap.svg提供的Element.innerSVG吗?

此外,Element.innerHTML也应该适用于svg元素,并且它已经在某些浏览器中有效(例如Opera和Chrome的新版本,请参阅here)。这在DOM Parsing spec

中定义

答案 1 :(得分:0)

您应该尝试使用名称空间感知createElementNS API创建SVG元素。有关示例,请参阅http://www.kevlindev.com/tutorials/basics/shapes/js_dom/