我正在使用 d3 创建一个表,供FooTable jquery 插件使用,这需要在标题行中有一些数据属性。但并非所有列都具有所有数据属性,并且想知道是否有办法做到这一点。
这种方法通过添加所有可能的数据属性并留下一些空白来起作用,但我确信这不是一个好习惯。
var th = d3.select(selection).select("thead").selectAll("th")
.data(colspec)
.enter().append("th")
.text(function(d) { return d["data-name"]; })
.attr("data-class", function(d) {
if ("data-class" in d) {
return d["data-class"];
} else {
return "";
}
})
.attr("data-hide", function(d) {
if ("data-hide" in d) {
return d["data-hide"];
} else {
return "";
}
})
.attr("data-ignore", function(d) {
if ("data-ignore" in d) {
return d["data-ignore"];
} else {
return "";
}
})
etc.
colspec 示例:
[{"data-name": "username"}, {"data-name": "Date Joined", "data-hide": "true"}]
目前获得:
<th data-class="" data-hide="true" data-ignore="" data-type="">Joined</th>
想
<th data-hide="true" >Joined</th>
有什么建议么?