【问题标题】:D3.js method chaining command dosn't work when I split it, it worksD3.js 方法链接命令在我拆分时不起作用,它起作用了
【发布时间】:2015-05-31 17:49:22
【问题描述】:

我是 D3.js 的新手, 当我使用此代码时它不起作用,(它是重绘的一部分,第一次运行时它运行良好,再次调用重绘时它会意外地起作用)

var rows=tbody.selectAll('tr').data(roster);
rows.enter().append('tr');
rows.exit().remove();
rows.selectAll('td').data(function(row) { return columns.map(function(col) {
  return row[col];
});}).enter().append('td').text(function(d) {return d;} );

当我把链条分解成更小的时候,它就起作用了。

var rows=tbody.selectAll('tr').data(roster);
rows.enter().append('tr');
rows.exit().remove();

var cells = rows.selectAll("td")
.data(function(row) { return columns.map(function(col) {
  return row[col];
});});
cells.enter().append("td");
cells.text(function(d) { return d; });

任何理由或任何规则都适用于此。

【问题讨论】:

    标签: javascript jquery d3.js method-chaining


    【解决方案1】:

    在第一种情况下,您只更新新单元格上的文本,而不是旧单元格上的文本。当您像这样链接.enter() 时,以下所有链接的方法都适用于.enter() 返回的对象,这就是输入选择:换句话说,添加了单元格。

    阅读this

    【讨论】:

    • 就是这样,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    相关资源
    最近更新 更多