hi,
ich möchte die Breite einer Textbox auslesen, welche allerdings zu dem Zeitpunkt wo sie ausgelesen ist, versteckt sein kann, und zwar durch irgendein weit entferntes Elternelement, welches auf display: none steht.
Die offsetWidth scheint bei nicht sichtbaren (display: none) Elementen auf 0 zu stehen.
Jepp.
Nun hab ich versucht, die Textbox einfach mit display: inline sichtbar zu machen, allerdings hat das keinerlei Auswirkungen. Der Firebug stellt sie in der HTML-Ansicht immer noch ausgegraut dar (wie andere nicht sichtbaren Elemente), aber er sagt mir auch zugleich das der display-Wert auf "inline" steht.
Da kann stehen, was will - wenn das Elternelement display:none hat, wirst du auch die Textarea nie zu Gesicht bekommt.
Dann hab ich es noch über currentStyle bzw. getComputedStyle probiert, aber das liefert "auto", außer wenn ich den width-Wert direkt angebe.
Nun ja, dass ist ja dann auch der aktuelle Wert der width-Eigenschaft, wenn du keinen angibst.
Hat jmd. eine Idee?
Entweder Elternelement von display:none befreien (ggf. andere Art des "Versteckens" wählen?), oder Textarea aus dem versteckten Elternelement herausholen, und (kurzfristig) woanders einhängen (appendChild) - aber da wäre dann wieder nicht garantiert, dass das sofort neu gerendert wird, offsetWidth also sofort danach auslesbar ist.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }