Zum Inhalt springen

Genaue Spaltenbreite ermitteln


Tobitobe

Empfohlene Beiträge

Hi @ all,

ich sitze gerade an einer Seite, in der ich einen Tabellenheader und darunter ein td habe, in dem ein scrollbares DIV mit Tabellenzeilen ist.

Nun habe ich allerdings das Problem, dass die Überschrift nicht mehr bündig über den einzelnen Spalten sitzt (logisch), aber das sollte sie.

Nun habe ich schon auf verschiedenste Weise versucht, die Spaltenbreite der Tabellenzeilen auszulesen, um sie anschließend in die Headerzeile zu setzen.

Problem dabei: durch Text in den Spalten verändert sich die Breite und entspricht nicht mehr der WIDTH-Angabe im HTML-Tag TD.

Hat da jemand eine Idee, wie ich die tatsächliche Breite mit z.B. JS heraus bekomme?

Danke für jeden Tipp.

Grüße

Tobi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier:

http://de.selfhtml.org/javascript/objekte/all.htm#offset_width

Du mußt dem Element halt noch ne ID geben, mit der du es ansprechen kannst.

Das tut's leider nicht, ich bekomme immer den Wert 0 als Breite. Pronzipiell erscheint mir dieser Befehl zwar richtig, ich weiß aber nicht, warum er sich nicht auf die Tabelle anwenden lässt. :(

Die Breite von vornherein festlegen kann ich leider nicht, da ich nur schwer vorhersagen kann, wie breit die Spalten letztlich sein werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das tut's leider nicht, ich bekomme immer den Wert 0 als Breite. Pronzipiell erscheint mir dieser Befehl zwar richtig, ich weiß aber nicht, warum er sich nicht auf die Tabelle anwenden lässt. :(

Die Breite von vornherein festlegen kann ich leider nicht, da ich nur schwer vorhersagen kann, wie breit die Spalten letztlich sein werden.

dein source?

Link zu diesem Kommentar
Auf anderen Seiten teilen


function.....{


    c+='<span id="scrollspan" style="width:1000;height:495px;overflow:auto;">';    

    c+='<table id="maintable">';

    c+='<tr><td class="tablehead" width="'+w1+'">'+h1+'</td>';

    c+='<td id="test" class="tablehead" width="'+w2+'">'+h2+'</td>';

    c+='<td class="tablehead" width="'+w3+'">'+h3+'</td>';

    ....

    c+='<td class="tablehead" width="'+w13+'">'+h13+'</td></tr>'; 


    // Ausgabe

    document.write(c);


   //Testausgabe = "0"

  alert(document.all["maintable"].offsetWidth);  

}

Das ist ein Ausschnitt. Bei der Testausgabe kommt grundsätzlich 0. Nur beim Body-Tag wird die richtige Größe angezeigt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...