PDA

View Full Version : [JAVASCRIPT] Selezionare solo alcuni elementi


CercoAiutoo
02-10-2009, 09:34
Con questa linea di codice ottengo il numero di tutti gli elementi "li" che si trovano dentro gli elementi con id "case":

document.getElementById('case').getElementsByTagName('li').lenght


Io invece ho bisogno di ottenere tutti gli elementi "li" che si trovano dentro gli elementi con id "case" ma che NON sono di classe "disabled" ( classe generica ).

Quindi se ho qualcosa del genere:

<div id="case">
<li> prova </li>
<li> prova1 </li>
<li class="disabled"> prova2 </li>
<li class="disabled"> prova3 </li>
<li class="disabled"> prova4 </li>
</div>

voglio che conti solo i primi 2

Come posso fare ? :stordita:

MEMon
02-10-2009, 12:13
Con questa linea di codice ottengo il numero di tutti gli elementi "li" che si trovano dentro gli elementi con id "case":

document.getElementById('case').getElementsByTagName('li').lenght


Io invece ho bisogno di ottenere tutti gli elementi "li" che si trovano dentro gli elementi con id "case" ma che NON sono di classe "disabled" ( classe generica ).

Quindi se ho qualcosa del genere:

<div id="case">
<li> prova </li>
<li> prova1 </li>
<li class="disabled"> prova2 </li>
<li class="disabled"> prova3 </li>
<li class="disabled"> prova4 </li>
</div>

voglio che conti solo i primi 2

Come posso fare ? :stordita:

var childs=document.getElementById('case').childNodes;
var length=childs.length;
for(var i=length;i;){
var node=childs[--i];
if(node.nodeName=="LI"&&node.className!="disabled") //fai quello che vuoi
}

CercoAiutoo
02-10-2009, 18:41
grazie funzia :stordita:

zulutown
02-10-2009, 19:39
Con questa linea di codice ottengo il numero di tutti gli elementi "li" che si trovano dentro gli elementi con id "case":

document.getElementById('case').getElementsByTagName('li').lenght


Io invece ho bisogno di ottenere tutti gli elementi "li" che si trovano dentro gli elementi con id "case" ma che NON sono di classe "disabled" ( classe generica ).

Quindi se ho qualcosa del genere:

<div id="case">
<li> prova </li>
<li> prova1 </li>
<li class="disabled"> prova2 </li>
<li class="disabled"> prova3 </li>
<li class="disabled"> prova4 </li>
</div>

voglio che conti solo i primi 2

Come posso fare ? :stordita:

sconsiglio assolutamente questo modo di lavorare.

usa framework come JQuery http://jquery.com/

MEMon
02-10-2009, 20:03
sconsiglio assolutamente questo modo di lavorare.

usa framework come JQuery http://jquery.com/

Sconsiglio assolutamente di usare jquery e altri fw sopratutto se è un tuo piccolo progettino.
Altrimenti non imparerai mai come funziona davvero javascript.

zulutown
03-10-2009, 17:36
Sconsiglio assolutamente di usare jquery e altri fw sopratutto se è un tuo piccolo progettino.
Altrimenti non imparerai mai come funziona davvero javascript.

non mi risulta che per usare Java io debba conoscere l'assembler.

MEMon
03-10-2009, 17:38
non mi risulta che per usare Java io debba conoscere l'assembler.

che risposta è? di sicuro non usi un framwork che ne stravolge del tutto l'uso.

zulutown
04-10-2009, 10:47
che risposta è? di sicuro non usi un framwork che ne stravolge del tutto l'uso.

considera che se uno lo deve usare per lavoro, non ha molto tempo per capire i dettagli del funzionamento interno ecc. ecc.

JQuery lo si impara ad usare in un attimo.. quindi a meno che uno non voglia approfondire conoscenze modello DOM ecc ecc trovo assurdo usar quella vecchia modalità di scrittura di javascript

MEMon
04-10-2009, 10:54
Quella non è una vecchia modalità di scrittuta, quello è javascript.
Poi che tu abbia preferito imparare a usare jquery invece che javascript è un altro discorso.

Sembra quasi che io sia contro i fw, non mi fraintendere eh, anchio trovo che usare un fw velocizzi e semplifichi molte le cose(tra l'altro me ne sto facendo anche uno personale), però credo che sarebbe meglio iniziare ad usare i framework quando si conosce già la struttura javascript-dom, ma si è stufi di star a scrivere sempre le stesse cose.