第四课 选择、插入、删除元素

本课学习如何选择 HTML 中的元素,以及插入新元素和删除选择集中的元素。

选择元素

上一课已经讲解了 select、selectAll、选择集的概念。本节具体列举这两个函数的用法。

假设在 body 中有三个段落元素:

<p>Apple</p>
<p>Pear</p>
<p>Banana</p>

现在,要分别完成以下四种选择元素的任务。

选择第一个 p 元素

使用 select ,参数传入 p 即可,如此返回的是第一个 p 元素。

var p1 = body.select("p");
p1.style("color","red");

结果如下图,被选择的元素标记为红色。

Apple
Pear
Banana

选择三个 p 元素

使用 selectAll 选择 body 中所有的 p 元素。

var p = body.selectAll("p");
p.style("color","red");

结果如下:

Apple
Pear
Banana

选择第二个 p 元素

有不少方法,一种比较简单的是给第二个元素添加一个 id 号。

<p id="myid">Pear</p>

然后,使用 select 选择元素,注意参数中 id 名称前要加 # 号。

var p2 = body.select("#myid");
p2.style("color","red");
结果如下:
Apple
Pear
Banana

选择后两个 p 元素

给后两个元素添加 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()

body.append("p")
    .text("append p element");

在 body 的末尾添加一个 p 元素,结果为:

Apple
Pear
Banana
append p element

insert()

在 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 的段落元素。

源代码

下载地址:rm4.zip

委托名片直接发送邮件(需邮箱客户端)点击复制邮箱地址14721230383项目委托、技术支持,欢迎与我们联系。休息日7:00 ~ 11:0012:00 ~ 22:00工作日11:00 ~ 11:4016:00 ~ 22:00

Copyright 2014-2016, DecemberCafe, All Rights Reserved