enter用法
假设<body>中已经存在某一个元素<p>, 如果用
d3.select("body").selectAll("p").data(somedatarray).enter().append("p")
来再添加一个<p>元素,那么是不会实现这个效果的,它只会覆盖原来的<p>. 也就是说,如果想在保留原来的<p>的基础上再添加三个<p>, 那么实际上只会显示,三个,不是四个,因为第一个被覆盖了。那么。如何解决这个问题呢?
解决方法
实际上,用d3的时候,加了一个限定,selectAll, 就是先选中已有的<p>.如果不选择已有的<p>不就行了吗?
所以,
d3.select("body").data(somedataarray).append("p")
就可以了。这就会保留原来的,另外再添加三个<p>.
其实也算是把数据绑定到dody中吧。
那么exist()是不是也可以这样用呢? 哈哈哈。