控制台说无法找到变量

时间:2015-02-08 21:59:05

标签: javascript d3.js

我宣布了一个变量圈,但不知何故它在这里没有被访问(靠近文件的底部)

circles.filter(function(d, i){
               return d.species == species
                }) 

我的控制台说它无法找到变量:圆圈。我是d3.js&amp ;;的新手。 javascript所以任何帮助都非常感谢!

http://jsfiddle.net/flyingburrito/gacbucyo/9/

2 个答案:

答案 0 :(得分:0)

问题是您在circles来电中定义d3.csv(...),然后在单独的d3.selectAll(...)来电中引用它。因此circles未定义d3.selectAll(...),因为它超出了范围。尝试将circles定义为JSFiddle顶部的全局变量。然后,在不使用var的情况下初始化它:

circles = svg.selectAll("circle").data(data)

我做了这个修复后,我不再有错误,可以过滤圈子。请参阅updated JSFiddle here

答案 1 :(得分:0)

圈子不是全局变量,因此您无法在文件末尾看到它。像在其他地方(svg,data,..)一样在顶部定义它,然后你就可以访问它了。