Я не преуспеваю в добавлении пути в простой контейнер svg. Вместо этого он рассматривает мой «путь» как текст.D3: Не удается добавить простой путь к контейнеру svg
Вот мой код:
// Create the SVG
var tracer = {};
tracer.$container = document.getElementById('container');
tracer.$svg = $('<svg class="svg-d3-table" style="width:100%; height:100%">');
tracer.$container.append(tracer.$svg);
// Specify the path points
var pathInfo = [{x:0, y:60},
{x:50, y:110},
{x:90, y:70},
{x:140, y:100}];
// Specify the function for generating path data
var pathLine = d3.line()
.x(function(d){return d.x;})
.y(function(d){return d.y;})
.curve(d3.curveBasis);
// Append path
tracer.$svg.append("path")
.attr("d", pathLine(pathInfo))
.attr("stroke", "white")
.attr("stroke-width", 8)
.attr("fill", "none");
Вместо того, чтобы новый элемент пути, как
<path d="M314,352L314,352C314,352,314,352,..."></path>
Он поставляется с Фолля из-за:
<svg class="svg-d3-table" style="..." d="M0,60L8.3,68.3.7,...">path</svg>
Что мне не хватает?
PS: Извините, я исхожу из C++ и могу бороться за некоторые очень простые операции js.
спасибо. С уважением.
Не используйте jQuery при работе с SVG. Он не предназначен для обработки пространства имен SVG и, вероятно, будет источником многих головных болей. Ниже описывается ваша проблема более подробно: [* «Приложение jquery не работает с элементом svg?» *] (/ Q/3642035). – altocumulus
Это смешение d3, jQuery и vanilla js настолько неудобно и запутанно ... Почему бы вам не создать SVG, используя только d3? –