元素筛选
基础筛选
format | description |
---|
foo | foo 标签 |
#foo | id 为foo |
.foo | class 包含foo |
[foo=goo] | 存在属性foo=goo |
foo goo | foo 下的goo 标签 |
foo#goo | foo 下的id 为goo |
foo.goo | foo 下的class 包含goo |
foo:first-child | foo 标签的第一个子元素 |
foo:nth-child(n) | foo 标签下的第n 个元素 |
单元素选择
<p id="target"></p>
<script type="text/javascript">
d3.select("p#target").text("hello world !");
</script>
d3.select("p").attr("foo", "goo");
d3.select("p").attr("foo");
d3.select("p").classed("foo");
d3.select("p").classed("foo", true);
d3.select("p").classed("foo", false);
d3.select("p").classed("foo", function(){return false;});
d3.select("p").style("font-size");
d3.select("p").style("font-size", "10px");
d3.select("p").style("font-size", function(){return 1+2;});
d3.select("p").text();
d3.select("p").text("hello world!"):
d3.select("p").text(function (){return "hello world!";});
d3.select("p").html();
d3.select("p").html("<b>inner html</b>");
d3.select("p").html(function(){
return "<b>inner html</b>"
});
多元素选择
d3.selectAll("p").attr("class", "red box");
子选择器
d3.select("#sectionA").select("p").text("sectionA");
d3.select("#sectionB > p").text("sectionB");
元素操作
元素迭代
d3.selectAll("div.godme").each(function(d, i){
d3.select(this).append("h1").text("godme"+i);
});
operation | description |
---|
select(this) | 拿到当前元素 |
append | 添加元素 |
d | 绑定数据 |
i | 迭代顺序 |
级联调用
d3.select("body")
.append("section")
.attr("id", "section1")
.append("div")
.attr("class", "blue box")
.append("p")
.text("hello world!");
选集筛选
var ps = d3.selectAll("p");
var firstp = ps[0][0];
d3.select(firstp).text("firstp");
d3.select(ps[0][1]).text("01");
d3.select(ps[0][2]).text("02");
d3.select(ps[0][3]).text("03");