style: CSS样式操作符

style()操作符用来设置获取选择集中各DOM元素的CSS样式

  1. selection.style(name[,value[,priority]])

style()操作符有三个参数:

  • name: 样式名称字符串,必须
  • value:指定样式新的值,可选
  • priority:优先级,可以是null或字符串"important",可选

读取样式当前值

如果没有指定参数value,那么style()将返回选择集中第一个DOM元素指定样式的 计算值。请注意,这时只返回第一个元素的样式!

为样式设置新值

如果参数value是一个具体值,那么style()将选择集中所有DOM元素的指定 样式统一设置为该值。当value为null值时,将清除该样式值。

如果参数value是一个访问器函数,那么style()将依次对选择集中的每一个 DOM元素分别执行该函数,并使用其返回值来设置当前DOM元素指定样式的值。

同时设定多个样式

如果有多个样式需要同时设置,可以直接传入一个JSON对象:

  1. selection.style({'stroke': 'black', 'stroke-width': 2})

attr: 属性操作符

attr()操作符用来设置获取选择集中各DOM元素的属性:

  1. selection.attr(name[,value])

attr()操作符有两个参数:

  • name:指定要操作的属性名称,必须
  • value:指明要为该属性设置的新值或访问器函数,可选

读取属性当前值

如果没有指定参数value,那么attr()将返回选择集中第一个 DOM元素指定属性的当前值

为属性设置新值

参数value可以是一个具体值,这时attr()将选择集中所有DOM元素的指定属性值 统一设置为该值。

参数value也可以是一个访问器函数,这时attr()将依次对集合中的每一个元素 分别执行该函数,并使用其返回值作为当前处理DOM元素指定属性的值。

html:html内容操作符

html()操作符的实现基于DOM元素的innerHTML属性,因此设置 这个值将完全替换选择集中每一个DOM元素的全部内容:

  1. selection.html([value])

参数value是可选的,用来替换当前内容。

读取html内容

如果没有指定参数value,那么html()操作符将返回选择集中第一个 DOM元素的HTML内容。

设置html内容

如果参数value是一个具体值,那么html()操作符将选择集中所有 DOM元素的HTML内容统一设置为该值。

如果参数value是一个访问器函数,那么将依次对选择集中的每一个 DOM元素分别执行该函数,并使用其返回值来设置当前DOM元素的HTML内容。

text:文本内容操作符

text()操作符的实现基于DOM元素的textContent属性,因此设置 这个值将完全替换选择集中每一个DOM元素的全部内容:

  1. selection.text([value])

参数value是可选的,用来替换当前内容。

读取文本内容

如果没有指定参数value,那么text()操作符将返回选择集中第一个 DOM元素的文本内容。

设置文本内容

如果参数value是一个具体值,那么text()操作符将选择集中所有 DOM元素的文本内容统一设置为该值。

如果参数value是一个访问器函数,那么将依次对选择集中的每一个 DOM元素分别执行该函数,并使用其返回值来设置当前DOM元素的文本内容。

append:追加操作符

append()操作符向选择集中的每一个DOM元素追加一个子元素:

  1. selection.append(name)

name参数可以是一个HTML标签名,这时append()将为选择集中的每个 DOM元素使用这个标签名创建新元素,并向当前DOM对象追加该子元素。

name参数也可以是一个访问器函数,这时append()将为选择集中 的每个DOM元素执行这个函数,并将其返回的DOM对象追加为当前DOM元素的子元素。

需要指出的是,append()返回的是一个不同的选择集,其内容是新追加的这些 DOM元素:

示例地址:http://***/course/54fd40cfe564e50d50dcf284/

insert:插入操作符

insert()操作符向选择集中的每一个DOM元素,在指定子元素之前插入一个新元素:

  1. selection.insert(name[,before])

和append()一样,参数name可以是一个HTML标签名或者一个 访问器函数。位置参数before则使用与name同样的方式 指定一个用来定位的子元素。

当省略位置参数before时,新创建的元素将插入到最后,等效于append()。

同样地,insert()返回的是一个不同的选择集,其内容是新插入的这些 DOM元素:

remove:删除操作符

remove()方法将选择集中的全部DOM元素从当前文档中移除

  1. selection.remove()

需要指出的是,remove()操作符并没有销毁这些移除的DOM元素,而仅仅是将 它们从当前文档中摘除,所返回的选择集内容没有发生变化:

另外,当前d3没有提供专门的API将这些移除的DOM元素重新挂接到DOM树上。如果你需要 这个功能,可以使用append()insert()操作符。

参考资料:http://***/

d3.js:数据可视化利器之 修改文档:DOM操作符的更多相关文章

  1. d3.js:数据可视化利器之快速入门

    hello,data! 在进入d3.js之前,我们先用一个小例子回顾一下将数据可视化的基本流程. 任务 用横向柱状图来直观显示以下数据: var data = [10,15,23,78,57,29,3 ...

  2. d3.js:数据可视化利器之 交互行为:响应DOM事件

    selection.on:事件监听操作符 on()操作符可以添加或移除选择集中每个 DOM元素的事件监听函数: selection.on(type[,listener[,capture]]) 参数ty ...

  3. d3.js:数据可视化利器之 selection:选择集

    选择集/selection 选择集/selection是d3中的核心对象,用来封装一组从当前HTML文档中选中的元素: d3提供了两个方法用来创建selection对象: select(selecto ...

  4. [资料搜集狂]D3.js数据可视化开发库

    偶然看到一个强大的D3.js,存档之. D3.js 是近年来十分流行的一个数据可视化开发库. 采用BSD协议 源码:https://github.com/mbostock/d3 官网:http://d ...

  5. 【python可视化系列】python数据可视化利器--pyecharts

    学可视化就跟学弹吉他一样,刚开始你会觉得自己弹出来的是噪音,也就有了在使用python可视化的时候,总说,我擦,为啥别人画的图那么溜: [python可视化系列]python数据可视化利器--pyec ...

  6. 测试驱动开发实践5————testSave之修改文档分类

    [内容指引] 1.确定"修改文档分类"的微服务接口及所需的参数 2.设计测试用例及测试用例合并 3.为测试用例赋值并驱动开发 上一篇我们通过17个测试用例完成了"新增文档 ...

  7. 从多个XML文档中读取数据用于显示webapi帮助文档

    前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...

  8. Mongodb:修改文档结构后出现错误:Element '***' does not match any field or property of class ***.

    Mongodb:修改文档结构后出现错误:Element '***' does not match any field or property of class ***. Mongodb是一种面向文档的 ...

  9. 将Word文档发给别人时如何限制别人只能修改文档部分内容

    将Word文档发给别人时如何限制别人只能修改文档部分内容  转自:互联网.时间:2014-04-16   作者:snow   来源:互联网 在很多情况下我们都不希望别人修改我们的文档内容,特别实在将W ...

随机推荐

  1. Python操作Word:常用对象介绍

    前面已经介绍过了试用win32com类库来进行Word开发,系列文章<Python操作Word>是继承了前面的文章,所以,你应该先查看前面的文章,其实只有两篇,文章地址列在最下面的参考资料 ...

  2. hdu 5384 Danganronpa(字典树)

    题意: f(A,B)表示:B在A中作为子串出现的次数. 题目给出n个证据,m个子弹 Ai是证据.Bi是子弹.题目问:全部Bi对每一个Ai造成的伤害是多少,即每一个Bi在Ai中出现的次数总和. 解析: ...

  3. [Linux]Linux printf 输出重定向

    方法一 #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/st ...

  4. URLDecoder: Incomplete trailing escape (%) pattern问题处理

    http://blog.csdn.net/yangbobo1992/article/details/10076335 _________________________________________ ...

  5. 组合数学 - BZOJ 3997 - TJOI2015

    TJOI2015 Problem's Link ---------------------------------------------------------------------------- ...

  6. java中不用BigInteger实现超大整数的乘法操作

    昨天看到一个题目:计算1234!,不能用BigInteger类 众所周知阶乘的数据会非常大,经常使用的int和long型根本不够用.一般想到的仅仅有BigInteger类,可是题目中明白说了不能用,所 ...

  7. 自己开发iOS版按键精灵--TTouch

    利用闲余时间,把之前的按键录制和播放整理了一些,开发了一个iOS版按键录制.播放的越狱APP,类似按键精灵.触动精灵等按键类的基本功能.脚本采用lua语法格式,可直接执行lua脚本,通过lua和obj ...

  8. TCP/IP 在 Windows 下的实现

    Windows 实现TCP/IP 协议也是建立在上一篇博客的OSI 基础之上的. 用户态是由ws2_32.dll 和一些其他服务提供者的 dll 共同实现,当中ws2_32.dll 是一个框架.能够容 ...

  9. 敏捷开发Scrum学习

    官方:http://baike.baidu.com/link?url=VGFzdJpuHX3g90kIX6l1QABWMmBNyf30sTGuEcJ6OJVMq0Cot1G9Imbu1gls-xpI6 ...

  10. SQL ALTER TABLE 命令

    SQL ALTER TABLE 命令 SQL ALTER TABLE 命令用于添加.删除或者更改现有数据表中的列. 你还可以用 ALTER TABLE 命令来添加或者删除现有数据表上的约束. 语法: ...