Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Genaue Spaltenbreite ermitteln

Empfohlene Antworten

Veröffentlicht

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

Verschoben -> Webdesign

du könntest auch von vorneherein anhand der länge der spaltennamen die größen der table setzen

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.

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?


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.

Okay, das Problem hat sich weitestgehend erledigt.

Die HTML-Element existieren zum Zeitpunkt der Scriptausführung noch nicht.

Daher die 0.

Hab die Testausgabe unter den HTML-Code gesetzt...jetzt klappt's.

Thx für eure Hilfe.

:uli

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.