使用Javascript绘制SVG

时间:2013-07-26 13:52:06

标签: 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);
}

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

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

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

1 个答案:

答案 0 :(得分:0)

这是svillamayor链接到的原因。你不能直接从jquery创建svg,所以你追加实际的元素并将其包装在jquery中来修改它。

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

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

真正的诀窍是:

var $circle = $(document.createElementNS(NS, "circle"));