Newsgroup: it.comp.lang.javascript
Titolo: getElementByCosa?

Sto realizzando alcune delle cose che devo fare, usando i CSS per 
l'impaginazione.
Problema: a quanto mi pare di capire, nei nuovi standard l'attributo ID non 
riguarda piu' l'ID dell'elemento, ma l'ID della classe che ne definisce lo 
stile (e, se e' cosi', mi pare veramente una cazzata. Ma tre a uno che Zer0 
sara' ben felice di confermare che ho capito male io ;-D )
Ora, se l'ID non rappresenta piu' un identificativo dell'elemento, cosa uso 
per il getElementBy?
Name? E' il nuovo standard? Per quanti mesi ancora? (il gruppo del W3C e' il 
gruppo di caproni piu' ignobili che l'informatica abbia mai visto, ma fate 
finta che non l'abbia scritto che non ho voglia di mettermi a discutere 
anche di questo)
Insomma, ho un DIV di cui devo recuperare il riferimento. IE 6.0 in poi e 
tutti i browser piu' recenti di un anno.
Che faccio?

 Che faccio?
getElementById se ha un id, altrimenti dipende dal contesto, ci sono
parecchie strade (p.e. getElementsByTagName('div'), giusto per spararne una
a caso)
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 Che faccio?
dagli un id, e richiamalo con document.getElementById
-- 
I finally found someone worth protecting with my life. You.

 Quindi puoi usare tranquillamente getElementById
Oh, qui si comincia gia' a chiarire.
Guardando alcuni esempi, ho notato questa notazione (in tutti gli esempi che 
ho visto):
#esempio {
del css qui dentro
}
<div id="esempio">
Il che, almeno a me, dava l'idea che si usi ID per associare gli elementi 
con i relativi stili. Ovvero, che l'ID sostituisca il class.
Ok, ho capito l'antifona, gli esempi non fanno testo, non devo prenderli ad 
esempio.
Grazie per il chiarimento :-)
(il punto e' che io sono una persona ordinata e lineare (oltre che stupida). 
Se esiste il class per definire lo stile e l'impaginazione di un elemento, 
mi aspetto che venga usato quello.
Se trovo esempi su esempi in cui al posto del class si da' come nome allo 
stile lo stesso ID dell'elemento a cui voglio associarlo...evidentemente il 
metodo corretto e' quello. Poi scopro che vanno bene entrambi e mi chiedo: 
perche'?
Cmq, ho capito, vado a sostituire tutti gli ID con il class...)

 <div id="esempio">
ti consiglio vivamente di leggere il Meyer, O'Reilly
le regole CSS sono cosi' strutturate:
<selettore>
{
 <chiave>: <valore>;
 <chiave>: <valore>;
 ...
}
il selettore puo' essere il nome di un tag, una classe o un identificativo
univoco, o una loro combinazione
Es.
p, h1
{
  color: red;
}
Assegni il colore rosso a tutti i paragrafi e le intestazioni h1
p.avviso
{
  font-weight: bold;
}
Testo in grassetto a tutti i paragrafi la cui classe contiene "avviso" --
in caso lo ignorassi, l'attributo html class e' una lista separata da
spazi. Quindi sia 
<p class="avviso"></p>
che
<p class="avviso importante"></p>
andranno in grassetto.
Con 
p#ultimo-avviso
{
   font-style: italic;
}
assegni il testo in corsivo al paragrafo con l'id ultimo-avviso, mentre con
#ultimo-avviso
{
   font-style: italic;
}
assegni il testo in corsivo all'elemento con l'id ultimo-avviso, di
qualunque tag si tratti.
---
Come regolarsi quindi?
Userai il nome di un tag quando vuoi assegnare uno stile a tutti gli
elementi di uno o piu' tipi.
Userai le classi quando vuoi assegnare uno stile ad *alcuni* elementi di un
di uno o piu' tipi.
Userai gli identificativi univoci quando vuoi assegnare uno stile ad *un
solo* elemento.
---
Il discorso e' in realta' piu' complesso in quanto ci sono tanti altri modi
di costruire e aggregare selettori. Ti rimando alla reference di CSS2 e ai
tutorial online per esempi piu' dettagliati


#esempio {
del css qui dentro
}
Questo vuol dire lo style-sheet "#esempio" viene associato allo obj che
ha per ID "esempio".
Quindi è il contrario di quello che hai pensato tu.