だから私は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); });
やらない理由の1つは、うまくいかないように見えるからだと思います笑でも、なぜですか?
もちろん、enter()
すべてが新しいと仮定すると、それも冗長に思えます。
何か案は?