Moin!
Die Frage nach dem Zweck ist natürlich berechtigt. Ich möchte in einem Web-Editor auf JavaScript-Basis die Möglichkeit haben, bei Tabellen Tabellenüberschriften definieren zu können. Im Stile von Zelle, markieren und in ein TH umwandeln.
Die Funktion ist nötig, da ich nicht Tabellen anbieten kann, die per default schon eine ganze Zeile mit th's aufweist.
Ich hätte jetzt auf optische Spielereien getippt - so kann man sich täuschen.
Nun ja, tatsächlich benötigst du das, was du forderst. :)
Mir fallen da zwei Methoden ein:
Erstens kannst du mit den üblichen DOM-Methoden, also z.B. createElement, ein neues TH-Element erstellen, allen Inhalt des alten TD-Elements übertragen, das TD-Element dann löschen und das neue Element an dieser Stelle dann einhängen.
Alternativ besteht vielleicht die Möglichkeit, stattdessen direkt im HTML-Quelltext des Editors zu operieren, was vielleicht auf den Einsatz von innerHTML hinausläuft, oder auf schlichte Textmanipulation in der Textarea.
Und es bestünde ja außerdem die Möglichkeit, erst nachträglich beim Speichern aus dem TD ein TH zu machen. Bei Editieren weist du der TD-Zelle einfach eine extra dafür gedachte CSS-Klasse zu (ich bin sicher, der Editor kann das grundsätzlich machen), die du evtl. eben passend so formatierst, wie dein TH auch aussehen soll, und erst beim Speichern führst du eine Ersetzungsoperation durch.
- Sven Rautenberg
--
My sssignature, my preciousssss!