选择集select和selectAll类似于jquery:d3.select('body')d3.select('.body')d3.select('#body')d3.selectAll('p')d3.selectAll('.box')varcontent=document.getElementById('#box')d3.select(conent)操作选择集查看状态判断选择集是否为empty:selection.empty()返回第一个选择集:selection.node()返回选择集的长度:selection.size()设置和获取selection.attr(name,[name])设置或获取属性名选择集的of为属性名,value为属性值,如果省略value则返回属性值。如果有些属性无法通过attr获取或设置,使用:selection.property(name,[name])使用方法相同。总之,通过attr获取不到的属性可以考虑属性设置className开关选择。classed(name,[name])name为类名,value为布尔值,表示是否启用增、插、删除在选择集末尾插入元素:selection.append()inselection在集合元素前插入一个元素:selection.inster()删除被选元素:selection.remove()数据绑定d3.selectandd3.selectAll返回元素的选择集,选择集上没有数据,数据绑定是让被选元素添加数据。有两个相关函数:selection.datum()和selection.data()。基准面的工作过程非常简单,用得很少。varp=d3.select('.box').selectAll('p');p.datum('这里是数据绑定').append('span').text(function(d,i){returni+"<---->"+d;});datumisboundtoastring这里是数据绑定到选择集的子元素。这很常见。data()数据的工作过程可以将数据项分别绑定到选择的元素集上。当数组长度与元素个数不一致时,data也可以处理。
