Рендеринг в Backbone.js с использованием d3.js и svgs

В backbone.js функция рендеринга представления генерирует неприкрепленный html, который позже можно прикрепить к dom.

В настоящее время у меня должна быть существующая цель в HTML, чтобы я мог добавить к ней svg. Затем я использую шаблон данных/ввода для вставки элементов в svg. Есть ли способ заставить d3.js генерировать svg, не прикрепляя его к dom?

var svg = d3.select("#target").append('svg')
    .attr("viewBox","0 0 100 100"); 

svg.selectAll("circle")
    .data(data)
    .enter().append("circle")
        .attr("r", 10)
        .style("fill", "black");

В качестве альтернативы, возможно ли предоставить d3 неприсоединенный элемент dom для добавления данных? Что-то вроде этого? Документация D3.js предполагает, что select может принимать узлы, но следующее также не работает для меня

var svg = d3.select(this.$el).append('svg')  // Uncaught TypeError: Object [object Object] has no method 'appendChild' 
    .attr("viewBox","0 0 100 100");     

svg.selectAll("circle")
    .data([1,2,3])
    .enter().append("circle")
        .attr("r", 10)
        .style("fill", "black");
15
задан kumikoda 13 June 2012 в 22:59
поделиться