Newsgroup: it.comp.lang.javascript
Titolo: Struttura tabulare con divs

Ciao,
ho una pagina che visualizza alcune informazioni (eccovi un po' di
ascii-art ;)
Portfolio Construction
----------------------------------------------------------------------------------------------------------------------------------
Account number:             170306
Name:                 Mr  Test  Client     Scenario name:    Scenario1
  Data date:  Dec-2005
----------------------------------------------------------------------------------------------------------------------------------
Portfolio Parameters
----------------------------------------------------------------------------------------------------------------------------------
Currency:                           GBP     Min Income:
Absolute  Percent
Discretionary:         Discretionary     Max Downside
Risk Quotient:                       8,0
Come potete vedere la sezione riportata ha una  struttura tabulare, ed
e' in effetti stata realizzata con una TABLE. Vorrei tuttavia passare
all'uso di DIVs per rendere il codice piu' mantenibile. Ho quindi
creato vari DIV che poi vengono posizionati dinamicamente tramite
javascript, all'onload o al resize, sulla base delle dimensioni della
finestra.
<div id="upperDiv">
	<div name="infoLineDiv" class="infoLineDiv">
	      <div name="infoHeaderDiv" class="infoHeaderDiv">Portfolio
Construction</div>
	</div>
	<div name="infoLineDiv" class="infoLineDiv">
		<div class="infoLineBoldItemDiv">Account number</div>
		<div>00098765431</div>
	</div>
	<div name="infoLineDiv" class="infoLineDiv">
		<div class="infoLineBoldItemDiv">Name</div>
		<div>Mr Test Client</div>
		<div class="infoLineBoldItemDiv">Scenario name</div>
	       <div>
		     <input type="text" name="scenarioName" value="Scenario1">
		</div>
		<div class="infoLineBoldItemDiv">Data date</div>
		<div>Sep-2005</div>
	</div>
	<div name="infoLineDiv" class="infoLineDiv">
		<hr size="1" noshade>
	</div>
        etc, etc
Tuttavia ho ben visto che
1) non ho potuto rinunciare totalmente a nidificare elementi (in questo
caso DIV che contengono altri DIV)
2) seppure il codice html risulta piu' lineare, il javascript aumenta
in complessita'.
Sto seguendo l'approccio giusto? Voglio dire, esistono design patterns
che permettano di ottimizzare l'utilizzo dei layers, in questo caso?
Avreste lasciato tutto come prima?
grazie per i vostri commenti
MM

 all'uso di DIVs per rendere il codice piu' mantenibile. 
Ohibò, e perché mai? Non è sicuramente più semplice il codice, e per quello
che vuoi fare esiste la table apposta ...
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 Perfetto! è ciò per cui è nata
aggiungerei... per una volta tanto che le tabelle sono usate per il loro
scopo, usiamole!
-- 
Under construction

 scopo, usiamole!
Che č la stessa cosa che ha detto Cristiano, direi, quindi non vedo
aggiunte. :D
A questo punto, rimarco anche io il concetto: secondo il w3c le tabelle non
č che non vadano usate, semplicemente non vanno usate per definire il
layout. Nel momento in cui ho dati tabellari, č con le table che devo
rappresentarli.
-- 
~ It may be that the old astrologers had the truth exactly reversed,
when they believed that the stars controlled the destinies of men.
The time may come when men control the destinies of stars.
(Arthur C. Clarke)

 rappresentarli.
sono d'accordo su quanto avete detto, ma i dati che debbo rappresentare
non sono una vera tabella, ossia non rappresentano record (ad esempio
estratti da un db). Sono piuttosto informazioni generali sul cliente,
il suo numero di conto, etc, etc
Il modo in cui questi dati vengono visualizzati, secondo me, ha piu' a
che fare col layout che con la semplice elencazione.
Filosofia a parte, per rendere le cose semplici li rappresentero' con
una table.
grazie
MM

 estratti da un db). 
Questo è ininfluente. Dati "tabellari" non significa necessariamente debbano
"rappresentare record". Significa solamente che sono dati da esprimere
sempre e comunque in una "griglia".
-- 
~ Tenete la morte lontano dalle strade. Guidate sul marciapiede.

 sempre e comunque in una "griglia".
ok, grazie
MM