Sto creando una tabella con d3 per essere utilizzata dallo FooTable jquery plugin e ciò richiede di avere alcuni attributi di dati nella riga di intestazione. Ma non tutte le colonne hanno tutti gli attributi dei dati e si chiedono se c'è un modo per farlo.d3 aggiunta attributo di dati in modo condizionale
Questo tipo di approccio funziona, aggiungendo tutti gli attributi possibili dei dati e lasciando alcuni vuoti, ma sono sicuro che non è una buona pratica.
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.
esempio colspec:
[{"data-name": "username"}, {"data-name": "Date Joined", "data-hide": "true"}]
Attualmente ottenere:
<th data-class="" data-hide="true" data-ignore="" data-type="">Joined</th>
Vuoi
<th data-hide="true" >Joined</th>
Qualche suggerimento?
+ 1'd solo per l'introduzione di me footable – Joum
Quindi, se ho avuto la domanda diretta, quando una determinata cella non contiene dati, si vorrebbe la versione _minified_ della tabella per * * non ** mostra il campo, giusto? – Joum
Non cercare di essere così intelligente (ancora!) Aggiunto commento sopra. – PhoebeB