2016-08-14 101 views
1

简单的问题有人检查出D3 4 4.2第一个元素: https://jsfiddle.net/dwrzso58/d3.js在选择不具约束力

d3.select("body") 
    .data([1,2,3]) 
    .enter() 
    .append("div") 
    .text((d,i)=>d) 

运行此代码时只有2和3中的DOM露面。数组中的第一个元素失去了什么?

+0

Tormi的答案解释是:如果你希望你的“输入”选择有您的所有数据,选择的东西,没有按”不存在。看看这个文档:http://stackoverflow.com/documentation/d3.js/2135/selections/16948/the-role-of-placeholders-in-enter-selections#t=201608142333397609478 –

回答

3

d3.select("body")选择包含一个元素,因此.data()将1添加到选定的主体元素,并且2,3剩余并包含在管道中。如果你想进入这三个元素必须调用.data()在一个空的选择是这样的:

d3.select("body").select("div") 
.data([1,2,3]) 
.enter() 
.append("div") 
.text((d,i)=>d)