Steffen Flämig: Mit JS/DOM erzeugte Tabellenzelle auf width=50% setzten

Hallo,

wie erreiche ich, dass eine mit:
var td = document.createElement("td");
erzeugte Tabellenzelle genau die Hälfte der Tabellenbreite einnimmt?

Ich habe der td eine Klasse gegeben und per CSS auf width:50% setzten
wollen.

Die Zelle nimmt aber (solange sie leer ist) gar keine Breite ein.

Gruß

Steffen

  1. Hi Steffen!

    Muss die Tabellenzelle leer sein, oder wäre ein blank als Inhalt akzeptabel?
    Dann könntest du folgendes probieren:
    var x = document.createTextNode(" ");
    td.appendChild(x);

    Grüsse,
    Richard

  2. Hallo,

    wie erreiche ich, dass eine mit:
    var td = document.createElement("td");
    erzeugte Tabellenzelle genau die Hälfte der Tabellenbreite einnimmt?

    Ich habe der td eine Klasse gegeben und per CSS auf width:50% setzten
    wollen.

    Die Zelle nimmt aber (solange sie leer ist) gar keine Breite ein.

    Das kann ich so nicht bestätigen:

      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
            "http://www.w3.org/TR/html4/strict.dtd">  
    <html>  
    <head>  
    <title>Beschreibung der Seite</title>  
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
    <style type="text/css">  
    table { width:300px; }  
    td.halbeBreite { width:50%; }  
    </style>  
    </head>  
    <body>  
    <table border="1">  
    <tr>  
     <td>Zelle 1.1</td>  
     <td>Zelle 1.2</td>  
    </tr>  
    </table>  
      
    <script type="text/javascript">  
    <!--  
    var td = document.createElement("td");  
    td.className="halbeBreite";  
    document.getElementsByTagName("table")[0].getElementsByTagName("tr")[0].appendChild(td);  
    //-->  
    </script>  
    </body>  
    </html>  
    
    

    Die Ursache für das von Dir beobachtete Verhalten muss an etwas anderem liegen.

    viele Grüße

    Axel