Michael H: XHTML & JS: Tabellenzeilen gruppieren

Hi,

Ich suche nach einer Möglichkeit, Tabellenzeilen zu gruppieren. Diese würde ich dann per JavaScript ein- und ausblenden wollen (per CSS-display). Leider habe ich bisher keien Möglichkeit gefunden, denn das document.getElementById geht ja auf eine id los, und die muss inenrhalb des Dokumentes ja eindeutig sein, d.h. ich kann nicht allen <tr>'s einer gruppe die gleiche id geben.

Gibt es dafür eine Lösung? Danke für eure Hilfe.

Michael H.

  1. Hi,

    Gibt es dafür eine Lösung?

    die ID ist nicht das einzige Merkmal, welches Du definieren kannst. Auch Klassen wären beispielsweise möglich.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Gibt es dafür eine Lösung?

      die ID ist nicht das einzige Merkmal, welches Du definieren kannst. Auch Klassen wären beispielsweise möglich.

      Cheatah

      Kannst du mir mal ein Beispiel geben? Ich weiß nicht so ganz was du meinst. Ach so, du meinst wenn ich allen <tr>'s einer Gruppe eine Stylesheet-Klasse zuweise...
      Da gibt es nur das Problem Cross-Browser. Ich glaube gelesen zu haben dass nur der IE die zugewiesene Stylesheet-Klasse ändern kann (mit der eigenschaft className). Wie verhält sich das denn dazu?

      Michael

      1. Hi,

        Ach so, du meinst wenn ich allen <tr>'s einer Gruppe eine Stylesheet-Klasse zuweise...

        nein, ich rede vom class-Attribut, nicht von CSS. Es geht Dir schließlich zunächst nur darum, voneinander unabhängige HTML-Elemente identifizieren zu können.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          Ach so, du meinst wenn ich allen <tr>'s einer Gruppe eine Stylesheet-Klasse zuweise...

          nein, ich rede vom class-Attribut, nicht von CSS. Es geht Dir schließlich zunächst nur darum, voneinander unabhängige HTML-Elemente identifizieren zu können.

          Cheatah

          Hi,

          Ich kann dir leider immer noch nicht folgen. Ich habe nachgeschaut aber das class-Attribut ist für die Zuweiisung von Stylesheetklassen zuständig. Zudem bleibt immer noch das Cross-Browser-Problem, keine Ahnung wie ich außerhalb des IE auf den Klassennamen zugreifen soll...

          Michael (heute schwer von Begriff)

          1. Hi,

            Ich habe nachgeschaut aber das class-Attribut ist für die Zuweiisung von Stylesheetklassen zuständig.

            nun ja. Es gibt in CSS einen Klassenselektor, der in HTML durch das class-Attribut definiert ist. Das ändert aber nicht den HTML-Code, nur weil ein solcher Klassenselektor nicht verwendet wird. Das class-Attribut bleibt auch ohne CSS bestehen.

            Zudem bleibt immer noch das Cross-Browser-Problem,

            Das hast Du unter Garantie, schon alleine weil Du auf HTML-Code zugreifst.

            keine Ahnung wie ich außerhalb des IE auf den Klassennamen zugreifen soll...

            Wie greifst Du außerhalb des IE[1] auf ein width-Attribut zu?

            Cheatah

            [1] Wobei ich nicht verstehe, was Du da in anderen Browsern anderes vermutest.

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. keine Ahnung wie ich außerhalb des IE auf den Klassennamen zugreifen soll...

              Wie greifst Du außerhalb des IE[1] auf ein width-Attribut zu?

              document.getElementById(id).style ist für alle Browser gleich. Aber das  Attribut className gibt es wohl nur im IE. HAb das Problem anders gelöst. Mehrere Tabellen geschachtelt in <p> Tags mit unterschiedlichen id's. Geht auch so ganz gut. Man braucht halt mehrere tabellen, was ich eigentlich vermeiden wollte.

              Cheatah

              [1] Wobei ich nicht verstehe, was Du da in anderen Browsern anderes vermutest.

              1. Hi,

                document.getElementById(id).style ist für alle Browser gleich.

                jein.

                Aber das  Attribut className gibt es wohl nur im IE.

                Nein. Aber selbst wenn wäre das überhaupt kein Problem, weil style und className _nicht_ die einzigen Eigenschaften (im weitesten Sinne) von DOM-Nodes sind.

                HAb das Problem anders gelöst. Mehrere Tabellen geschachtelt in <p> Tags mit unterschiedlichen id's. Geht auch so ganz gut.

                Argl, nun ja.

                Man braucht halt mehrere tabellen, was ich eigentlich vermeiden wollte.

                Du kannst es nach wie vor vermeiden.

                Cheatah

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
              2. Hi,

                document.getElementById(id).style ist für alle Browser gleich. Aber das  Attribut className gibt es wohl nur im IE. HAb das Problem anders gelöst. Mehrere Tabellen geschachtelt in <p> Tags mit unterschiedlichen id's. Geht auch so ganz gut. Man braucht halt mehrere tabellen, was ich eigentlich vermeiden wollte.

                Nur dürfen table-Elemente in p-Elementen nicht vorkommen.

                cu,
                Andreas

                --
                MudGuard? Siehe http://www.mud-guard.de/
  2. Hi,

    Ich suche nach einer Möglichkeit, Tabellenzeilen zu gruppieren. Diese würde ich dann per JavaScript ein- und ausblenden wollen (per CSS-display). Leider habe ich bisher keien Möglichkeit gefunden, denn das document.getElementById geht ja auf eine id los, und die muss inenrhalb des Dokumentes ja eindeutig sein, d.h. ich kann nicht allen <tr>'s einer gruppe die gleiche id geben.

    tbody bietet sich an, um Tabellenzeilen zu gruppieren (und in gewissem Maße auch thead und tfoot).
    Ggf. noch mit class kombinieren...

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.mud-guard.de/
    1. Hi,

      tbody bietet sich an, um Tabellenzeilen zu gruppieren

      hast Du Erfahrung damit, wie (bzw. wie gut) verschiedene Browser damit umgehen? Ich denke vor allem an (noch ;-) ältere IE- und Opera-Versionen.

      Cheatah

      --
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hi,

        tbody bietet sich an, um Tabellenzeilen zu gruppieren

        hast Du Erfahrung damit, wie (bzw. wie gut) verschiedene Browser damit umgehen? Ich denke vor allem an (noch ;-) ältere IE- und Opera-Versionen.

        Scriptmäßig: keine Erfahrungen.
        HTML/CSS-Mäßig: IE ignoriert borders für tbody-Elemente, Mozilla interpretiert sie, Opera ignoriert sie.

        Mehr hab ich noch nicht ausprobiert...

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.mud-guard.de/
        1. Hi,

          Scriptmäßig: keine Erfahrungen.
          HTML/CSS-Mäßig: IE ignoriert borders für tbody-Elemente, Mozilla interpretiert sie, Opera ignoriert sie.

          danke, dann heißt das also: ausprobieren :-)

          Cheatah

          --
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
        2. HTML/CSS-Mäßig: IE ignoriert borders für tbody-Elemente, Mozilla interpretiert sie, Opera ignoriert sie.

          Opera setzt border für thead, tfoot und tbody seit Version 6 um, vorausgesetzt border-collapse steht auf collapse.