Newsgroup: it.comp.lang.javascript
Titolo: Problema Tabelle

Ho un table HTML semplice ossia senza unioni o divisioni di celle,
Come è possibile nascondere tutta una colonna ?
Riesco a nascondere una singola cella, ma non tutta una colonna con una sola istruzione..
vorrei evitare di loopare su tutte le righe...
grazie

perdona l'gnoranza, ma come fai a nascondere una cella?




cattiva notizia (la buona in fondo)
Mentre esiste l' oggetto rows per le righe di una tabella
(corrispondente all'insieme dei tag <tr>), l' apparentemente logico ed
equivalente cols non e' un oggetto ( e non esiste in effetti un tag
per indicare le colonne), e interrogato restituisce solo il numero
delle colonne presenti in tabella e, per di piu', a patto che sia
esplicitamente specificato nel codice html nel tag
 <table cols=numero>.
In caso contrario, senza cioe' avere specificato un valore per cols,
un alert(document.getElementById('id_della tabella').cols) restituisce
sempre 0
e un tentativo  mirante a raggiungere una specifica colonna, del tipo
document.getElementById('id_della tabella').cols[0]
conferma l'errore: 'non e' un oggetto'
L' utilita' dell' attribuire un valore  (cols e' read/write)
sembrerebbe solo nel velocizzare  la costruzione della tabella da
parte del browser.
Detto questo,  le [quasi] buone notizie: ci sono sempre gli stili.
Forse si potrebbe agire in questo modo:
settare una classe di stile, attribuirla alle celle presenti nella
colonna interessata e all' occorrenza cambiare il display o visibility
dello stile utilizzato.
Nota che quello che segue l'ho tirato fuori in modo empirico (hobbista
sono) arrampicandomi sugli oggetti del browser: su IE5 win98SE
funziona.
non te la passo quindi come regola.
E' anzi possibile che qualche lettore con una gran risata aggiunga una
correzione che semplifichi, illumini, riformi quanto segue
Compatibilita' solo IE5 credo, non ho testato, ma NS4 proprio no
e del resto e' ben dubbio che questa stada sia piu' comoda del loop
meglio far lavorare il browser che digitare, 
comunque eccola qui.
Probabilmente l 'utilita' maggire si mostrerebbe se la dipsosizione
delle celle o degli elementi non fosse facilmente individuabile
attraverso un  ciclo.
bando alla timidezza
<HTML>
<HEAD>
<TITLE> cambia una specifica proprieta di uno stile dichiarato</TITLE>
<STYLE TYPE="text/css">
TD.bibi { 
display:inline;
font-family: Verdana;
font-size: 8pt;
color: 'red';
text-align: Center;
}
</STYLE>
</HEAD>
<BODY>
<TABLE BORDER="1">
<TR>
	<TD class='bibi'>R:1 C:1</TD>
	<TD>R:1 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:2 C:1</TD>
	<TD>R:2 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:3 C:1</TD>
	<TD>R:3 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:4 C:1</TD>
	<TD>R:4 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:5 C:1</TD>
	<TD>R:5 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:6 C:1</TD>
	<TD>R:6 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:7 C:1</TD>
	<TD>R:7 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:8 C:1</TD>
	<TD>R:8 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:9 C:1</TD>
	<TD>R:9 C:2</TD>
</TR>
<TR>
	<TD class='bibi'>R:10 C:1</TD>
	<TD>R:10 C:2</TD>
</TR>
</TABLE>
<form>
<input type=button
onclick=document.styleSheets[0].rules[0].style.display='none'>
</form></BODY>
</HTML>

 wrote in message
news:3b17efc9...@news.iunet.it...


indefinito!!! generato tramite JSP)
Spero ch tu possa ripassare da queste parti e  valutare se quanto
sotto proprosto ti possa essere di spunto.
Correzione (ahem)
(elementi minimi di html sigh)
si possono indicare 'col'
come tag <col>
nel DOM w3c pare che obbligatoriamente non debbano aver il tag di
chiusura.
Se indicati il browser (IE5) inserisce nell' albero 'colgroup' anche
se non indicato nel codice html 
Nell' esempio esplicito lo stile display solo per poter fare un
controllo discriminante
La 'catena' che ho utilizzato e' in stile dom per cui immagino possa
essere sostituita con piu' comodi elemnti di individuazione, non ho
provato ma immagino anche diretti a id specifici delle singole col
<STYLE TYPE="text/css">
COL { 
display:inline;
}
</STYLE>
<script language="javascript">
function nome(){quale=prompt('numero colonna:0 o 1' );
with(document.body.childNodes[0].childNodes[0].childNodes[quale].style)
{display=display=='none'?'inline':'none'
}
}</script>
</HEAD>
<BODY>
<TABLE BORDER="1">
<col><col>
<TR>
	<TD>R:1 C:1</TD>
	<TD>R:1 C:2</TD>
</TR>
<TR>
	<TD>R:2 C:1</TD>
	<TD>R:2 C:2</TD>
</TR>
<TR>
	<TD>R:3 C:1</TD>
	<TD>R:3 C:2</TD>
</TR>
<TR>
	<TD>R:4 C:1</TD>
	<TD>R:4 C:2</TD>
</TR>
<TR>
	<TD>R:5 C:1</TD>
	<TD>R:5 C:2</TD>
</TR>
<TR>
	<TD>R:6 C:1</TD>
	<TD>R:6 C:2</TD>
</TR>
<TR>
	<TD>R:7 C:1</TD>
	<TD>R:7 C:2</TD>
</TR>
<TR>
	<TD>R:8 C:1</TD>
	<TD>R:8 C:2</TD>
</TR>
<TR>
	<TD>R:9 C:1</TD>
	<TD>R:9 C:2</TD>
</TR>
<TR>
	<TD>R:10 C:1</TD>
	<TD>R:10 C:2</TD>
</TR>
</TABLE>
<form>
<input type=button onclick='nome()' value='mostra o nascondi'>
</form></BODY>
</HTML>
saluti e scusa l' errore fuoriviante precedente

 wrote in message
news:3b1822cf...@news.iunet.it...


PROVATO!!!
Funziona benissimo (con qualche variante x il mio caso)
Ho semplicemente inserito tante tag <COL> quante sono le mie colonne con un
ID
es <COL ID="UNO"><COL ID="DUE">.... <COL ID="n">
dentro la tag <TABLE>
quando ho bisogno di nascondere
document.getElementById("idname").style.display="none";
per visualizzare
document.getElementById("idname").style.display="inline";
molte grazie!!


wrote:

contento di essere stato utile,
ciao