javascript - 选择/检测 d3.js 中更改的元素?

标签 javascript d3.js

该示例如下所示:

a=[1,2,3,4,5];
svg.selectAll("rect").data(a)
a[1]=10;
a[4]=50;
svg.selectAll("rect").data(a)
a的第二个和第五个元素被改变。我只想选择这两个元素并将它们的颜色设置为红色。但是,我不知道该怎么做,或者换句话说,在 d3.js 中选择这些更改的元素。 (据我所知,enter() 不能完成这项工作)。有没有人对此有想法?

最佳答案

可能有更好的方法来做到这一点:

//update data array
a[4]=50;

//color update elements
svg.selectAll('rect')
    .filter(function(d, i){ return d != a[i]; })
    .style('color', 'red')

//bind updated data
svg.selectAll('rect').data(a)

关于javascript - 选择/检测 d3.js 中更改的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763045/

相关文章:

javascript - 如何限制datepair.js中的时间范围?

javascript - 如何匹配 HTML5 Canvas 中的水平线?

javascript - 用于查找页面上使用的所有字体的脚本

javascript - Selenium 中命令的 java/javascript 等效方法是什么

d3.js - 将 D3 图表另存为图像

javascript - d3.js 中日期的默认表示形式是什么?

javascript - D3.js 条形图动画未正确退出

javascript - 在调用 javascript 函数后面的代码中添加 onclick 属性,并使用引用 ClientID 的字符串参数

javascript - 使用 d3 js 和国家 topojson 文件分别绘制状态

javascript - Dagre D3 中的 Bootstrap 无法正确呈现