d3.js在每个()之后使用.attr()?

d3.js在每个()之后使用.attr()?,d3.js,D3.js,可以在selection.each()之后使用selection.attr()吗?我有以下简单的代码: var line = d3.svg.line()...; chart .selectAll('.gw') .selectAll('path.line') .each(function(d, i) { $this.computeXXX(d, ....); }) .attr('d', line); 我已经检查了“attr”函数是否被调用,

可以在selection.each()之后使用selection.attr()吗?我有以下简单的代码:

var line = d3.svg.line()...;

chart
    .selectAll('.gw')
    .selectAll('path.line')
    .each(function(d, i) {
        $this.computeXXX(d, ....);
    })
    .attr('d', line);
我已经检查了“attr”函数是否被调用,但由于某种原因,当我返回并尝试检查组成选择的“path”元素时,它们从未设置过“d”属性。每次通话的回报是多少?我检查了D3API文档,它没有提到有任何类型的返回值,但似乎有


关于如何解决这个问题有什么建议吗?

您当然可以在
.each()之后使用
.attr()
。我已经根据一张预先制作好的图表做了一个测试。无论如何,您可以看到它使用
.each()
绘制一个橙色笔划,然后修改其他属性。如果您发布更多代码的详细信息,或将其添加到一个或多个分支上,我们/我可能会帮助您修复它。

谢谢。你当然是对的。我的问题实际上在别处,因为我还不知道line()函数和每个元素的数据中的值是如何使用的。更多的实验解决了这一切。绝对是我自己的错!