var viz = d3.select('#viz').selectAll('p').data([0])
.enter().append('p');
この結果を与える:
<html>
<body>
<div id="viz">
<p></p>
</div>
<body>
</html>
selectAll()
が前に基づいて、親要素を定義するからですselect
メソッドであり、これはselect('#viz')
です。そのようにして:
console.log(viz[0].parentNode) // <div id="viz">
あなたが最初のHTML文書に次のコードを実行した場合一方:selectAll()
以来
<html>
<body>
<div id="viz">
</div>
<body>
<p></p> <!-- your p element is appended to <html> as its parent element
</html>
をするために必要です:それはあなたにこの結果を与える
var viz = d3.select('#viz').select('p').data([0])
.enter().append('p');
選択の親要素を再定義すると、選択の親要素はまだデフォルトで設定されている<html>
です。我々は選択の親ノードをログに記録した場合:
console.log(viz[0].parentNode) // <html>
はselections are arrays (groups) of arrays of elementsことを覚えておいてください。 viz[0]
を書くと、選択の最初の要素ではなく、最初の要素のグループが得られます。
console.log(viz[0][0].parentNode)
ないあなたD3の選択グループでは、DOMツリーにあなたのその特定の要素の親要素を与える:あなたが書くべき最初の要素を取得するには。