d3 version 7.3.0
d3主要通过select , selectAll实现选择元素,参照原生js的querySelector querySelectorAll
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>d3</title>
<script src="https://cdn.bootcdn.net/ajax/libs/d3/7.3.0/d3.js"></script>
</head>
<body>
<div id="root"></div>
<div id="target"></div>
<div class="box">
<p>111</p>
<p class="p2">222</p>
<p ckass="p3">333</p>
<p ckass="p4">444</p>
<p ckass="p4">555</p>
</div>
<script>
const root = d3.select('#root')
root.text('this is d3')
// d3.select('p') // 只选择一个
// .style('background', '#f90')
const el = d3.select('p')
.append('span') // append返回的不是当前dom p,而是子元素
.text('I am in span'); // 文本添加在span
console.log('el', el)
d3.select('body')
// insert(newElement, targetElement) 返回插入的元素,如果 tatgetElement没有找到,就默认为 body
.insert('p', '#target') // insert插入
.text('I am insert new here')
.style('color', 'pink')
// d3.selectAll('p') // 选择全部,不需要遍历,直接对整体进行操作
// .style('background', '#90f')
// 删除元素
// d3.select('#target').remove() //先选中然后直接remove
// attr,style,text,attr常用来修改svg节点的属性
let dataset = ['javascript', 'css', 'html']
d3.select('.box')
.selectAll('p')
.data(dataset)
.text((d, i) =>{
console.log(100, d, i)
return i+ ' : ' + d;
});
</script>
</body>
</html>