Toon posts:

[javascript] innerhtml / tabel / uitlijnen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
Ik heb op een plaats van mijn website een tabel staan. Als ik de tabel versimpel ziet deze er zo uit:
<table>
<tr>
<td><font id="tekst"></font></td>
<td><Hier informatie uit de database</td>
</tr>
</table>

Nu wil ik bij de font met het id "tekst", tekst en een lijn plaatsen door middel van Javascript.
Nu heb ik daarvoor een functie gemaakt die het op zich wel doet:

tekst.innerHTML = '<table width="100%" heigth="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="left" valign="top">BLABLA</td></tr><tr><td valign="bottom" height="1"><hr align="center" width="100%" size="1" color="#CCCCCC" noshade></td></tr></table>'

Maar wat is nu het probleem:
Ik wil dus hierbij de tekst boven uitgelijnt hebben en het lijntje onder. Volgens de tabel die ik op deze manier maak in de tekst-font zou dat moeten werken. Maar dit werkt dus niet.
Hij maakt de tabel namelijk geen 100% (qua hoogte).

Als ik daarna de output bekijk van wat er in tekst.innerHTML staat, zie ik opeens dat hij een <tbody> opent nadat ik een tabel heb gemaakt en hem afsluit voordat ik de tabel afsluit. Dit staat niet in mijn code maar doet hij automatisch.

Komt het hierdoor dat hij de tabel geen 100% maakt?
Zijn er andere mogelijkheden om de tekst boven aan de cel uit te lijnen en de lijn onderaan?
Alvast bedankt!

Verwijderd

Ik zie een typfoutje :)

code:
1
heigth="100%"  >  height="100%"

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 08:51

RM-rf

1 2 3 4 5 7 6 8 9

volgens mij kun je beter gewoon een DIV gebruiken en deze een border-bottom geven, de HR wordt in dit geval enkel met layout doeleinden geplaatst en heeft zelf geen content-waarde:


code:
1
2
3
4
5
6
7
8
<table>
<tr>
<td><div id="tekst" style="
    border-bottom: 1px solid #ccc; 
   width: 100%; height: 100%;"></div></td>
<td><!-- Hier informatie uit de database --></td>
</tr>
</table>


dan kun je met je javascript-functie enkel de inhoud aanpassen (eventueel ook de styl zetten zodat de lijn eronder wel/niet verschijnt)

doe zo min mogelijk met innerhtml, en probeer zoveel mogelijk met bestaande objecten, zoals het style object te doen, zeker als het layout instellingen betreft, zeker geen bloated code plaatsen

een tabel heeft overigens geen hoogte, aangezien de tabel gegenereert wordt adhv de inhoud kan de hoogte enkel door de inhoud ontstaan, een table is geen layout-element om zaken uit te lijnen, anders dan op basis van cols en rows

[ Voor 18% gewijzigd door RM-rf op 15-12-2003 17:21 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
ok bedankt :)