使用 Javascript 绘制 SVG

Ale*_*lex 5 javascript svg

我有以下代码片段:

draw: function drawFn ($dial) {

    var width = $dial.width(),
        height = $dial.height(),
        $svg = $('<svg />').attr({
            "width": width,
            "height": height
        }),
        circle = $('<circle />').attr({
            "cx": 0,
            "cy": 0,
            "r": width / 2,
            "fill": "red"
        });

    $svg.append(circle);
    $dial.append($svg);
}
Run Code Online (Sandbox Code Playgroud)

$dial是一个<div>带有宽度和高度的 jQuery 包装元素。

和元素都附加到 ,<svg>但它们没有可见的大小。我缺少什么?<circle><div>

在这里小提琴: http: //jsfiddle.net/alexcoady/pLvAw/2/

小智 1

这是因为 svillamayor 链接到的原因。您无法直接从 jquery 制作 svg,因此您需要附加实际元素并将其包装在 jquery 中以对其进行修改。

我做了一个小提琴来展示你如何通过包装东西来做到这一点:

http://jsfiddle.net/vEEZT/4/

真正的技巧是:

var $circle = $(document.createElementNS(NS, "circle"));
Run Code Online (Sandbox Code Playgroud)