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

D3.js 使用D3有条件地修改选择内容,d3.js,D3.js,首先,我对D3还是很陌生,所以这可能只是一个noob问题 我试图用D3创建一个简单的表,在其中我想在td元素中添加text或innerHtml。我目前正在将元素(td)附加到dom中,然后根据其数据更改其内部文本或html,所有内容都在每个函数中。这正是我想要的,但感觉很粗糙 这就是我的代码的样子: cells.enter() .append("td") .each(function(d){ if(d.isText()){ d3.select(this).t

首先,我对D3还是很陌生,所以这可能只是一个noob问题

我试图用D3创建一个简单的表,在其中我想在
td
元素中添加
text
innerHtml
。我目前正在将元素(
td
)附加到dom中,然后根据其数据更改其内部文本或html,所有内容都在
每个
函数中。这正是我想要的,但感觉很粗糙

这就是我的代码的样子:

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);
      })
    });

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

正如@Larskothoff所指出的,我只是在所有事情上使用innerHtml。起初不确定这在语义上是否有点不正确,但这似乎是最好的方法。

为什么不使用
.innerHtml()
来完成所有操作?谢谢@Lars Kotthoff。现在感觉很傻。