d3.js实现enter()添加元素d(数据绑定-data binding)

enter用法

假设中已经存在某一个元素

, 如果用


d3.select("body").selectAll("p").data(somedatarray).enter().append("p") 

来再添加一个

元素,那么是不会实现这个效果的,它只会覆盖原来的

. 也就是说,如果想在保留原来的

的基础上再添加三个

, 那么实际上只会显示,三个,不是四个,因为第一个被覆盖了。那么。如何解决这个问题呢?


解决方法

实际上,用d3的时候,加了一个限定,selectAll, 就是先选中已有的

.如果不选择已有的

不就行了吗?

所以,

d3.select("body").data(somedataarray).append("p")

就可以了。这就会保留原来的,另外再添加三个

.


其实也算是把数据绑定到dody中吧。

那么exist()是不是也可以这样用呢? 哈哈哈。


你可能感兴趣的:(web前端)