4
DOM中已经包含空SVG标签(“SVG”),当我试图将现有的SVG符号(“符号”)的使用标签dinamically追加一个ID(“iconId”):SVG与使用无标签不渲染
svg.empty();
svg[0].setAttribute('viewBox', symbol.getAttribute('viewBox'));
svg.append('<use xlink:href="#' + iconId + '"></use>');
element.html(element.html());
或手动操纵viewBox属性,但是这不是一个真正的解决方案和IE不喜欢它。 值得一提的是,如果我直接附加SVG图形,该元素将呈现。
这里发生了什么,为什么在追加USE标签之后不是SVG绘图?
我只能猜测,但:它可能是使用标记呈现之前,svg加载? (不包括它之前,但实际加载) – DoXicK 2014-09-22 13:44:43
可能附加将数据粘在html命名空间而不是SVG命名空间。 – 2014-09-22 13:46:39
@DoXicK - 不,SVG和符号都在页面中硬编码。脚本在DOMContentLoaded之后运行。 – 2014-09-22 13:51:37