假设在 body 中有三个段落元素:
<p>Apple</p> <p>Pear</p> <p>Banana</p>现在,要分别完成以下四种选择元素的任务。
使用 select ,参数传入 p 即可,如此返回的是第一个 p 元素。
var p1 = body.select("p"); p1.style("color","red");结果如下图,被选择的元素标记为红色。
Apple Pear Banana使用 selectAll 选择 body 中所有的 p 元素。
var p = body.selectAll("p"); p.style("color","red");结果如下:
Apple Pear Banana有不少方法,一种比较简单的是给第二个元素添加一个 id 号。
<p id="myid">Pear</p>然后,使用 select 选择元素,注意参数中 id 名称前要加 # 号。
var p2 = body.select("#myid"); p2.style("color","red"); 结果如下: Apple Pear Banana给后两个元素添加 class,
<p class="myclass">Pear</p> <p class="myclass">Banana</p>由于需要选择多个元素,要用 selectAll。注意参数,class 名称前要加一个点。
var p = body.selectAll(".myclass"); p.style("color","red");结果如下:
Apple Pear Banana关于 select 和 selectAll 的参数,其实是符合 CSS 选择器的条件的,即用“井号(#)”表示 id,用“点(.)”表示 class。
此外,对于已经绑定了数据的选择集,还有一种选择元素的方法,那就是灵活运用 function(d, i)。我们已经知道参数 i 是代表索引号的,于是便可以用条件判定语句来指定执行的元素。
插入元素涉及的函数有两个:
append():在选择集末尾插入元素insert():在选择集前面插入元素假设有三个段落元素,与上文相同。
在 body 的末尾添加一个 p 元素,结果为:
Apple Pear Banana append p element在 body 中 id 为 myid 的元素前添加一个段落元素。
body.insert("p","#myid") .text("insert p element");已经指定了 Pear 段落的 id 为 myid,因此结果如下。
Apple insert p element Pear Banana删除元素使用 remove,例如:
var p = body.select("#myid"); p.remove();如此即可删除指定 id 的段落元素。