Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用d3.js和SVG在Backbone.js中进行渲染_Backbone.js_D3.js - Fatal编程技术网

使用d3.js和SVG在Backbone.js中进行渲染

使用d3.js和SVG在Backbone.js中进行渲染,backbone.js,d3.js,Backbone.js,D3.js,在backbone.js中,视图的渲染函数生成未附加的html,以后可以附加到dom 目前,我必须在HTML中有一个现有的目标,以便将svg附加到其中。然后,我使用data/enter模式将元素插入到svg中。有没有办法让d3.js生成svg而不将其附加到dom var svg = d3.select("#target").append('svg') .attr("viewBox","0 0 100 100"); svg.selectAll("circle") .data(d

在backbone.js中,视图的渲染函数生成未附加的html,以后可以附加到dom

目前,我必须在HTML中有一个现有的目标,以便将svg附加到其中。然后,我使用data/enter模式将元素插入到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");

我在这篇文章中找到了答案


真有办法

您是否尝试过
d3.selectAll([this.el])
?D3可能对jQuery对象不满意,它可能需要一个真正的数组。顺便说一句,我刚才提到的d3文档表明d3确实可以很好地处理Jquery对象。-->“这些方法还可以接受节点,这对于与第三方库(如jQuery或开发人员工具)集成非常有用。”是的,d3不能选择jQuery对象<代码>d3。选择(这个。$el[0])也应该可以。这正是我一直在寻找的!谢谢为什么d3不能选择jquery对象?
d3.select(this.el)