d3 version 7.3.0
    d3主要通过select , selectAll实现选择元素,参照原生js的querySelector querySelectorAll

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>d3</title>
    6. <script src="https://cdn.bootcdn.net/ajax/libs/d3/7.3.0/d3.js"></script>
    7. </head>
    8. <body>
    9. <div id="root"></div>
    10. <div id="target"></div>
    11. <div class="box">
    12. <p>111</p>
    13. <p class="p2">222</p>
    14. <p ckass="p3">333</p>
    15. <p ckass="p4">444</p>
    16. <p ckass="p4">555</p>
    17. </div>
    18. <script>
    19. const root = d3.select('#root')
    20. root.text('this is d3')
    21. // d3.select('p') // 只选择一个
    22. // .style('background', '#f90')
    23. const el = d3.select('p')
    24. .append('span') // append返回的不是当前dom p,而是子元素
    25. .text('I am in span'); // 文本添加在span
    26. console.log('el', el)
    27. d3.select('body')
    28. // insert(newElement, targetElement) 返回插入的元素,如果 tatgetElement没有找到,就默认为 body
    29. .insert('p', '#target') // insert插入
    30. .text('I am insert new here')
    31. .style('color', 'pink')
    32. // d3.selectAll('p') // 选择全部,不需要遍历,直接对整体进行操作
    33. // .style('background', '#90f')
    34. // 删除元素
    35. // d3.select('#target').remove() //先选中然后直接remove
    36. // attr,style,text,attr常用来修改svg节点的属性
    37. let dataset = ['javascript', 'css', 'html']
    38. d3.select('.box')
    39. .selectAll('p')
    40. .data(dataset)
    41. .text((d, i) =>{
    42. console.log(100, d, i)
    43. return i+ ' : ' + d;
    44. });
    45. </script>
    46. </body>
    47. </html>