因此,我试图了解http://bl.ocks.org/mbostock/4062045上的示例并有几个问题。
从例子:
var link = svg.selectAll(".link")
.data(graph.links)
.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) { return Math.sqrt(d.value); });
基本上所做的(据我所知)是获取“链接”类的所有元素(即没有),然后将“graphs.links”中的所有内容添加到那个空的元素列表中。所有新元素(如“enter()”所示)都被“line”标签封装,具有“class”属性集并被风格化。
我的问题是......如果你知道 selectAll() 不会得到任何东西,为什么要这样做?为什么不这样做?:
var link = svg
.data(graph.links)
.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) { return Math.sqrt(d.value); });
我想不这样做的一个原因是它似乎不起作用,哈哈,但为什么不呢?
当然,enter()
如果你假设一切都是新的,这似乎也是多余的。
有任何想法吗?