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)