Wie verstecke ich Spalten in einer HTML-Tabelle?

Lesezeit: 4 Minuten

Wie verstecke ich Spalten in einer HTML Tabelle
Benutzer601367

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 im HTML-Tabellenaufbau. Wie kann ich mein Problem lösen?

Zu diesem Zweck müssen Sie Stylesheet verwenden.

<td style="display:none;">

  • Was ist mit nur der ersten Spalte mit CSS von HTML?

    – Büro 302

    8. September 15 um 19:18 Uhr


  • Wie soll ich ihm Stil hinzufügen, wenn ich eine Tabelle mit Javascript createelement (td) mache?

    – Büro 302

    8. September 15 um 19:20 Uhr

  • @office302 Diesen Stil nur auf das erste TD anwenden? Oder Sie möchten nur CSS verwenden – Dies können Sie so tun td:first-child { display:none; }

    – Anuraj

    9. September 15 um 6:08 Uhr

  • @Anuraj es sollte beachtet werden, dass :first-child usw. unterstützt werden > IE 11 und Edge, sowieso gut

    – Vitalij T.

    26. Juli 17 um 9:41 Uhr

1643915526 361 Wie verstecke ich Spalten in einer HTML Tabelle
Kos

Du kannst den … benutzen nth-child CSS-Selektor zum Ausblenden einer ganzen Spalte:

#myTable tr > *:nth-child(2) {
    display: none;
}

Dies funktioniert unter der Annahme, dass eine Zelle der Spalte N (sei es a th oder td) ist immer das N-te untergeordnete Element seiner Zeile.

Hier ist eine Demo.


Wenn Sie möchten, dass die Spaltennummer dynamisch ist, können Sie dies mit tun querySelectorAll oder ein Framework mit ähnlicher Funktionalität, wie z jQuery Hier:

$('#myTable tr > *:nth-child(2)').hide();

Demo mit jQuery

(Die jQuery-Lösung funktioniert auch auf Legacy-Browser, die das nicht unterstützen nth-child).

  • Dies kann schädliche Nebenwirkungen haben, siehe meine Antwort unten für eine verbesserte Lösung.

    – Rick Smith

    7. April 15 um 20:12 Uhr


  • @RickSmith Guter Punkt. Mein Beitrag wurde aktualisiert, um das Problem auf andere Weise zu vermeiden (mithilfe des untergeordneten Selektors).

    – Kos

    7. April 15 um 20:38 Uhr

  • Kinderauswahl ist definitiv besser. Gute Antwort.

    – Rick Smith

    7. April 15 um 20:42 Uhr

  • Schöne Lösung, aber beim Colspan-Fall muss etwas mehr berücksichtigt werden.

    – Cinoss

    26. März 16 um 09:27 Uhr

Sie können auch verwenden:

<td style="visibility:hidden;">
or
<td style="visibility:collapse;">

Der Unterschied zwischen ihnen, dass “hidden” die Zelle verbirgt, aber den Raum enthält, aber mit “collapse” wird der Raum nicht wie display:none gehalten. Dies ist wichtig, wenn eine ganze Spalte oder Zeile ausgeblendet wird.

  • Ich habe festgestellt, dass für div-Tags auch das Kollabieren den Platz enthält. Für die div-Tags müssten Sie display: none verwenden; um wirklich zusammenzubrechen und den Raum nicht zu halten.

    – Dov Miller

    3. April 16 um 11:30 Uhr

  • visibility: collapse wurde speziell für das Ein-/Ausblenden von Zellen entwickelt, da es einen Unterschied bei der Neuberechnung der Zellenbreite/-höhe zwischen diesem und gibt display:none. Sehen developer.mozilla.org/en-US/docs/Web/CSS/visibility#Values

    – SteveB

    23. September 16 um 7:18 Uhr

1643915527 764 Wie verstecke ich Spalten in einer HTML Tabelle
Rick Smith

Die Antwort von Kos ist fast richtig, kann aber schädliche Nebenwirkungen haben. Das ist richtiger:

#myTable tr td:nth-child(1), #myTable th:nth-child(1) {
    display: none;
}

CSS (Cascading Style Sheets) wird Kaskade Attribute für alle seine Kinder. Das bedeutet, dass *:nth-child(1) wird die erste verstecken td von jedem tr UND verstecke das erste Element von allen td Kinder. Wenn einer von Ihnen td Dinge wie Schaltflächen, Symbole, Eingaben oder Auswahlen haben, wird die erste ausgeblendet (woops!).

Auch wenn du es nicht tust zur Zeit Dinge haben, die versteckt werden, stellen Sie sich Ihre Frustration vor, wenn Sie eine hinzufügen müssen. Bestrafen Sie Ihr zukünftiges Ich nicht so, das wird mühsam zu debuggen sein!

Meine Antwort wird nur die erste verbergen td und th auf alle tr in #myTable Halten Sie Ihre anderen Elemente sicher.

1643915527 916 Wie verstecke ich Spalten in einer HTML Tabelle
derapache64

Bootstrap-Leute verwenden .hidden Klasse an <td>.

Sie können eine Spalte auch mit dem Element col ausblenden https://developer.mozilla.org/en/docs/Web/HTML/Element/col

So blenden Sie die zweite Spalte in einer Tabelle aus:

<table>
  <col />
  <col style="visibility:collapse"/>
  <tr><td>visible</td><td>hidden</td></tr>
  <tr><td>visible</td><td>hidden</td></tr>

Bekannte Probleme: Dies funktioniert nicht in Google Chrome. Bitte stimmen Sie für den Fehler unter https://bugs.chromium.org/p/chromium/issues/detail?id=174167

1643915527 372 Wie verstecke ich Spalten in einer HTML Tabelle
souvik sett

<style>
.hideFullColumn tr > .hidecol
{
    display:none;
}
</style>

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 an jede td denkt.

.

759080cookie-checkWie verstecke ich Spalten in einer HTML-Tabelle?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy