Ich habe eine Tabelle in ASPX erstellt. Ich möchte eine der Spalten basierend auf der Anforderung ausblenden, aber es gibt kein Attribut wie visible
beim Erstellen von HTML-Tabellen. Wie kann ich mein Problem lösen?
html
asp.net
html-table
user601367
quelle
quelle
td:first-child { display:none; }
Mit dem
nth-child
CSS-Selektor können Sie eine ganze Spalte ausblenden:Dies funktioniert unter der Annahme, dass eine Zelle der Spalte N (sei es ein
th
odertd
) immer das N-te untergeordnete Element ihrer Zeile ist.Hier ist eine Demo.
Wenn Sie möchten, dass die Spaltennummer dynamisch ist, können Sie dies mit einem
querySelectorAll
beliebigen Framework tun, das ähnliche Funktionen bietet, wiejQuery
hier:Demo mit jQuery
(Die jQuery-Lösung funktioniert auch mit älteren Browsern, die dies nicht unterstützen.
nth-child
)quelle
Sie können auch verwenden:
Der Unterschied zwischen ihnen, dass "versteckt" die Zelle verbirgt, aber den Raum enthält, aber beim "Zusammenbruch" wird der Raum nicht wie eine Anzeige gehalten: keine. Dies ist wichtig, wenn eine ganze Spalte oder Zeile ausgeblendet wird.
quelle
visibility: collapse
wurde speziell für das Ein- und Ausblenden von Zellen entwickelt, da bei der Neuberechnung der Zellenbreite / -höhe ein Unterschied zwischen dieser und dieser bestehtdisplay:none
. Siehe developer.mozilla.org/en-US/docs/Web/CSS/visibility#ValuesDie Antwort von Kos ist fast richtig, kann aber schädliche Nebenwirkungen haben. Das ist richtiger:
CSS (Cascading Style Sheets) kaskadiert Attribute für alle untergeordneten Elemente . Dies bedeutet, dass
*:nth-child(1)
das erstetd
von jedemtr
UND das erste Element aller untergeordneten Elementetd
ausgeblendet wird. Wenn einer von Ihnentd
Schaltflächen, Symbole, Eingaben oder Auswahlen hat, wird der erste ausgeblendet (woops!).Auch wenn Sie derzeit keine versteckten Dinge haben, stellen Sie sich Ihre Frustration später vor, wenn Sie eine hinzufügen müssen. Bestrafe dein zukünftiges Selbst nicht so, das wird ein Problem beim Debuggen!
Meine Antwort wird verstecken nur die erste
td
undth
auf alletr
in#myTable
Ihren anderen Elemente sicher zu halten.quelle
Bootstrap-Benutzer verwenden
.hidden
class on<td>
.quelle
Sie können eine Spalte auch mit dem col-Element https://developer.mozilla.org/en/docs/Web/HTML/Element/col ausblenden
So verbergen Sie die zweite Spalte in einer Tabelle:
Bekannte Probleme: Dies funktioniert in Google Chrome nicht. Bitte stimmen Sie für den Fehler unter https://bugs.chromium.org/p/chromium/issues/detail?id=174167 ab
quelle
Verwenden Sie .hideFullColumn in der Tabelle und .hidecol in th. Sie müssen die Klasse in td nicht einzeln hinzufügen, da dies ein Problem darstellt, da der Index möglicherweise nicht für jedes td berücksichtigt wird.
quelle
Sie können auch programmgesteuert tun, was vs dev vorschlägt, indem Sie den Stil mit Javascript zuweisen, indem Sie die Spalten durchlaufen und das td-Element auf einen bestimmten Index setzen, um diesen Stil zu erhalten.
quelle
quelle