Matthias: Formatierung von Tabellen

Liebes Forum,

die Frage ist sicherlich trivial und dem Forum nicht angemessen, doch mir mag es einfach nicht gelingen, eine Reihe von Tabellenzellen (td-Elemente) über den Elementnamen im JS z.B. für document.getElementsByTagName("td")[0].align = "center"; zu positionieren. Aufgerufen wird über ein onload im BODY-TAG. Der Versuch document.getElementsByTagName("td")[0].style.align = "center"; führt auch zu keinem Ergebnis. Muss eventuell in dem betreffenden html das Attribute im <td> Element eingetragen sein, um es über JS nachorganisieren zu können - bin etwas ratlos

Freu' mich über Eure Antwort :-)

So long
Matthias

  1. eine Reihe von Tabellenzellen (td-Elemente) über den Elementnamen im JS z.B. für document.getElementsByTagName("td")[0].align = "center"; zu positionieren.

    Dieser Befehl sollte das tun, was man von ihm erwartet: Er sucht das erste (!) aller td-Elemente im Dokument und gibt diesem (nur diesem) das Attribut align=center.

    Wenn du hingegen alle td-Elemente formatieren willst, so musst du den Array, den document.getElementsByTagName("td") zurückgibt, mit einer for-Schleife durchlaufen.

    var tds = document.getElementsByTagName("td");  
    for (var i = 0, td; td = tds[i]; i++) {  
       td.style.textAlign = "center;  
    }
    

    Sinniger wäre die Verwendung einer Klasse (e.className = "sinnvollerKlassenname") und die Auslagerung dieser Formatierung ins Stylesheet.

    Der Versuch document.getElementsByTagName("td")[0].style.align = "center";

    Es gibt keine align-Eigenschaft in CSS, nur text-align. Es müsste daher .style.textAlign heißen.

    Muss eventuell in dem betreffenden html das Attribute im <td> Element eingetragen sein, um es über JS nachorganisieren zu können

    Nein, das ist nicht nötig.

    Mathias

    1. Hallo Mathias,

      vielen Dank für Deine schnelle Antwort.
      Die Überlegung mit der e.className = "sinnvollerKlassenname" finde ich auch deutlich schicker. Vermutlich ist es die optimale Lösung.

      Dankeschön für Deinen support

      Sonnige Grüße
      Matthias

  2. Hallo, Matthias!

    document.getElementsByTagName("td")[0].style.align = "center"; führt auch zu keinem Ergebnis.

    Wenig verwunderlich, heißt die von Dir gewünschte Instanz vom style-Attribut doch 'textAlign'.

    Gruß, LX

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
  3. @@Matthias:

    die Frage ist sicherlich trivial und dem Forum nicht angemessen

    *g*

    doch mir mag es einfach nicht gelingen, eine Reihe von Tabellenzellen (td-Elemente) über den Elementnamen im JS z.B. für document.getElementsByTagName("td")[0].align = "center"; zu positionieren.

    Warum willst du das mit JavaScript tun? Warum nicht im Stylesheet?

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)