使用D3有条件地修改选择内容

时间:2015-12-08 10:20:17

标签: d3.js

首先,我仍然是D3的新手,所以这可能最终成为一个菜鸟问题。

我正在尝试使用D3制作一个简单的表格,其中我想在text元素中添加innerHtmltd。我目前正在将元素(td)附加到dom,然后根据其数据我更改其内部文本或html,都在each函数内。这样做我想要的但感觉非常hacky。

这就是我的代码:

cells.enter()
.append("td")
    .each(function(d){
      if(d.isText()){
         d3.select(this).text(d.text);
      } else if(d.isInnerHtml()){
         d3.select(this).innerHtml(d.innerHtml);
      })
    });

我省略了显示数据绑定的代码,如果需要,请告诉我。

1 个答案:

答案 0 :(得分:0)

正如@LarsKotthoff指出的那样,我只是将innerHtml用于一切。最初不确定这是否在语义上略微不正确,但它似乎是最好的方式。