d3.js - 你能在 d3 中通过 foo.style({color :blah, background :blah})?

标签 d3.js

我将在 svg 元素上设置各种 css 样式,并认为我可以做类似的事情

d3.selectAll(".whatever")
   .style(function(d) { return {"color":getColor(d), "background":getBackground(d)}});

现在,这不起作用,但我想知道我是否可以做一些类似于集中设置整体样式属性而不是单独设置样式属性的事情。

注意:正如 Ray 建议的那样,您可以执行以下操作(我假设您已经将数据附加到节点):
d3.selectAll(".whatever")
  .attr("style",function(d) {
     return cssStyleStringYouWantToUse(d);
  });

最佳答案

仅适用于 D3 v3 :
报价 the documentation :

If you want to set several style properties at once, use an object literal like so:

selection.style({'stroke': 'black', 'stroke-width': 2})


但是,这对于函数来说是不可能的,因此在您的情况下,您仍然必须使用“长格式”。

关于d3.js - 你能在 d3 中通过 foo.style({color :blah, background :blah})?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860013/

相关文章:

javascript - D3 树布局仅将 'title' 添加到叶节点

javascript - D3 - 点击更新条形图数据

javascript - 防止 d3 画笔触发点击事件

javascript - D3库饼图,设置第一个切片的起始 Angular

javascript - 将静态代码转换为可重用的 D3.js 饼图动画

javascript - d3.js 动态数据重新加载可能与 exit().remove() 有关

javascript - 如何在 d3.js 旭日形图中的节点上设置初始 .focus()?

javascript - d3.js 树 - 为指定的子节点设置深度?

javascript - d3.js 树 - 节点的 CSV 属性

javascript - 数据操作 : How can I append path from my data array?