JavaScript 从文本渲染 SVG

标签 javascript svg

我有一个 svg 元素作为纯文本

<svg height="100" width="100">
    <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>

如何通过使用 JavaScript/jquery 插入它来在 HTML 页面上呈现它,而不用重新创建每个节点

document.createElementNS("http://www.w3.org/2000/svg", "svg")

(因为否则它不会被渲染)

最佳答案

尝试以下代码。

var svg = '<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">'+    
    '<path fill="#156BB1" d="M22.906,10.438c0,4.367-6.281,14.312-7.906,17.031c-1.719-2.75-7.906-12.665-7.906-17.031S10.634,2.531,15,2.531S22.906,6.071,22.906,10.438z"/>'+
    '<circle fill="#FFFFFF" cx="15" cy="10.677" r="3.291"/></svg>';

    var mysvg = new Image();
    mysvg.src = 'data:image/svg+xml,' + escape(svg);

然后使用mysvg变量将其放置在 html 中您想要的位置。

关于JavaScript 从文本渲染 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35521994/

相关文章:

javascript - Jquery datepicker,如何设置 future 日期

javascript - 如何按名称将 Google map 置于国家/地区的中心

Javascript正则表达式替换下一个匹配

css - 自动生成 web-/iconfont

javascript - 如何动态地为网页中的 svg 图像着色?

javascript - 向 D3 力定向图中的链接添加标签

javascript - Chrome 和 WebGL <canvas> 的单选按钮背景颜色

javascript - 如何预测 DOM keydown 是否会导致字符输入

javascript - 使用 Angular 属性指令对 SVG 元素进行 IE/Edge 渲染

svg - 获取SVG路径的边界框