javascript - D3 将图像附加到表头的方法

标签 javascript d3.js

在 HTML 中,我通常将图像添加到表头的方式如下:

<th><img src= image.png alt="" height=20 width=20></img></th>

HTML 方式非常直接和直观。然而,我后来改用D3来创建表,我的头代码是:

var columns = ['Column X', 'Column Y', 'Column Z']

var table = d3.select('#table_container').append('table'),
    thead = table.append('thead')
    tbody = table.append('tbody');

thead.append('tr')
    .selectAll('th')
    .data(columns)
    .enter()
    .append('th')
        .text(function(column) { return column; });

我的问题是:如何使用 d3 将图像附加到表标题?我打算为每个标题使用不同的图像。

感谢您的阅读

最佳答案

只需附加一个 img 并使用 src 作为其属性:

var columns = [
    {src:"http://iconbug.com/data/3a/256/77c71e95885bf94c06c7c68ccb63b131.png"}, 
    {src:"http://iconbug.com/data/3a/256/9f8cd17bf12b1667d6c4b31b889b3034.png"}, 
    {src:"http://iconbug.com/data/b4/256/4ece97792658df143eb693c23bb991f3.png"}
];

var table = d3.select("body").append('table');
var thead = table.append('thead');

thead.append('tr')
    .selectAll('th')
    .data(columns)
    .enter()
    .append('th')
    .append('img')
    .attr('src', function(d) {
        return d.src;
    });
table, th {
   border: 1px solid gray;
}
<script src="https://d3js.org/d3.v4.min.js"></script>

关于javascript - D3 将图像附加到表头的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42177459/

相关文章:

javascript - 在 nvd3 多条形图中为条形图绘制水平线

javascript - d3.layout.histogram() 返回错误的输出

javascript - 递归字符串输出

javascript - 用 Three.js 画一个基本的三 Angular 形

d3.js - 实时更新折线图 - 不会平滑地滚动出屏幕(摆动)

javascript - D3.js - 无法读取未定义的属性 'axis'

javascript - d3.js 重置视口(viewport)位置

Javascript 事件 addEventListener 为同一功能注册多次;使用 OOP Javascript

javascript - MongoDB聚合将两个不同的字段合并为一个并获取计数

javascript - 使用sequelize ownTo 和 hasOne 会导致超出最大调用堆栈大小