【发布时间】:2011-07-23 18:04:08
【问题描述】:
我通过 AJAX 成功从外部文件加载了一些 svg:
$("#svg").load(svgUrl + " svg", function() {
// do stuff
});
我的 HTML 看起来像这样:
<div id="svg" ...>
<svg ...>
...
</svg>
</div>
我可以很好地看到图形。现在我想在加载的 svg 中添加一些额外的 svg 元素。我将脚本更改为:
$("#svg").load(svgUrl + " svg", function() {
$("svg").append("<g id='compass'></g>");
// do stuff
});
由于某些原因,添加的元素在 firebug 中显示为隐藏,无论我在其中放入什么 xml,我都无法在我的网页上看到它。
更新:
感谢echo-flow 我能够附加到我的SVG。现在,如果我尝试从另一个 xml 文件加载我的指南针 svg,它不会出现在我的 DOM 中。目前我的代码如下所示:
$("#svg").load(obj.svgUrl + " svg", function() {
var svgns = "http://www.w3.org/2000/svg";
var g = document.createElementNS(svgns,"g");
g.setAttributeNS(null,'id','compass');
$("svg").append(g);
$("#compass").load("files/svg/compass.xml");
});
如果我在 firebug 中查看控制台,我会看到 AJAX 请求罗盘标记的结果是成功的,但是是空的。
【问题讨论】:
标签: jquery dom load svg append