Veröffentlicht 20. Juli 200421 j 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
20. Juli 200421 j 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.
20. Juli 200421 j du könntest auch von vorneherein anhand der länge der spaltennamen die größen der table setzen
20. Juli 200421 j 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.
20. Juli 200421 j 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?
20. Juli 200421 j 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.
20. Juli 200421 j 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.