我有以下代码片段:
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>
,但它们没有可见的大小。我错过了什么?
答案 0 :(得分:0)
这是svillamayor链接到的原因。你不能直接从jquery创建svg,所以你追加实际的元素并将其包装在jquery中来修改它。
我做了一个小提琴,通过包装东西来展示你是如何做到的:
真正的诀窍是:
var $circle = $(document.createElementNS(NS, "circle"));