Javascript data()不';t读取d3.js中的数据
我有以下简单的代码:Javascript data()不';t读取d3.js中的数据,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我有以下简单的代码: eventsMapJSON = d3.json("events.json", function(error, eventsMapData) { toplist = d3.select("#container") .append("ul"); toplist.selectAll("li") .data(eventsMapData) .enter() .append("li") .t
eventsMapJSON = d3.json("events.json", function(error, eventsMapData) {
toplist = d3.select("#container")
.append("ul");
toplist.selectAll("li")
.data(eventsMapData)
.enter()
.append("li")
.text(function(d){
return d;
})
}
但是,d3不会读取selectAll
函数中的数据,因此我试图放入容器中的简单列表不存在。在调试器上,我可以看到
标记,但看不到
标记。另外,当我把断点放在行上时,返回d代码>,调试器不会停在那里,这意味着d3可能会传递空数据
知道为什么会发生这种情况吗?您使用的是哪种浏览器?Chrome和Firefox(不过我不认为浏览器是问题所在)最可能的问题是您的数据变量为空,因为读取文件时出错。您是否测试了error
和eventsMapData
以确保第一个为空,第二个包含您的数据?第二个最可能的问题是您的JSON文件未格式化为数组。如果它被格式化为一个大的哈希映射/字典对象,它将被解释为长度为零,并且不会创建任何元素。如果是这样的话,你可以用它把对象变成数组。是的,这就解决了我的问题!非常感谢@AmeliaBR。写下你的评论作为回答,这样我就可以接受了。