如何使用函数作为 if in JS/JQ 的条件

How to use a function as a condition for if in JS/JQ

这是我的代码。在此,如果我的行键是总计,则不应给我 link。

row.append("td")
  .append('span')
  .classed({ '2017': true })
  .attr('href', function(item) { 
    if (item.key != "Grand Total") 
      return (projectBaseUrl + item.key + "2017"); 
  })
  .append("a")
  .attr('target', "_top")
  .text(function(item) { 
    return item.key; 
  });

但是如果我像这样给追加 .append(function(item) { if (item.key!="Grand Total") return ("a");}) 它不会执行。它抛出错误 Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'。类型错误:无法在 'Node' 上执行 'appendChild':参数 那么我能为此做些什么呢。

row.each(function(item) 
        {
         var self = d3.select(this);
        if (item.key!="Grand Total") 
            {
                self.append("td").append('span')
            .classed({'2017': true})
            .append("a")
            .attr('href', function(item) {return (projectBaseUrl+item.key+"2017");})
                .attr('target', "_top")
            .text(item.2017);
            }
        else 
            {
                    self.append("td").append('span')
            .classed({'2017': true})
            .text(item.201717);
            }
        });

这可以帮助我解决问题。感谢您的输入