我有以下代码片段:
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 中以对其进行修改。
我做了一个小提琴来展示你如何通过包装东西来做到这一点:
真正的技巧是:
var $circle = $(document.createElementNS(NS, "circle"));
Run Code Online (Sandbox Code Playgroud)