Я создаю таблицу с 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>
Want
<th data-hide="true" >Joined</th>
Любые предложения?