Funzione con metodo Apply

andreto

Utente Attivo
5 Dic 2012
88
0
0
Ciao a tutti,
ho trovato questa funzione, l'ho testata e va benissimo, però arrivato ad un certo punto mi perdo.
Probabilmente non riesco ancora a capire bene come si comporta apply.

Veniamo allo script:

Passando alla funzione di seguito un nodo padre, è in grado di restituire tutti i nodi di testo figli.

HTML:
function getTextNodesIn(node) {    
    var textNodes = [];    
    if (node.nodeType == 3) {       
        textNodes.push(node);       
    } else {        
        var children = node.childNodes;           
        for (var i = 0, len = children.length; i < len; ++i) {           
            textNodes.push.apply(textNodes, getTextNodesIn(children[i]));            
        }        
    }    
    return textNodes;
}

Vi spiego il mio problema.

Sto facendo analizzare questo:

HTML:
<div id="test">123<div>45</div><p></p><span>6<span>7</span></span>89</div>

Invio alla funzione il nodo div genitore di tutti.
La funzione elabora il div, capisce che non è un nodo di testo ed entra nell'else.
Trova i figli e calcola quanti sono.
In questo caso sono 5 figli:

123
<div>
<p>
<span>
89

quindi il for dovrebbe compiere 5 cicli.

Invece non sembrerebbe così!

Il primo figlio è "123",
per mezzo del metodo apply viene passato alla funzione, subito dopo durante il confronto capisce che si tratta di un nodo di testo e lo aggiunge all'array textNodes.
Fin qui tutto ok!

Il problema arriva ora,
il secondo figlio è un div, viene sempre passato alla funzione che confrontandolo capisce che non si tratta di un nodo di testo ed entra nell'else.
Entrando nell'else, poco dopo la i si azzera!

Come fa a ricordarsi degli altri 4 primi figli del div iniziale???
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Mail con funzione mail() riconosciute come spam PHP 9
L funzione onclik con seno e coseno non va Javascript 3
L pdo (stampare un valore con ritorno a funzione) PHP 0
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
M Problema con connessione MySqli e funzione PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
R [MS Access] CAMPO CALCOLATO CON FUNZIONE DSUM MS Access 19
Laskot [Javascript] Funzione JS con parametro Javascript 4
F [Javascript] Problema funzione jquery con elementi css esterni Javascript 1
M [Javascript] Funzione con collegamenti ipertestuali JS Javascript 4
A Chiamata funzione PHP con onclick PHP 8
F Aggiornare marker su mappa google con una funzione ajax richiamata al cambio di una select Ajax 2
M funzione click con plugin vide Javascript 0
C Funzione con "Funzione" Javascript 20
Monital Invio email con dati di una funzione JS PHP 1
E Riempimento di un combobox con dati mysql in funzione di altro combobox PHP 3
M errore lettura data nel mysql con funzione Where PHP 1
M Far partire una funzione/codice php con javascript Javascript 1
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
S Problema con funzione "imagecreatefrompng" PHP 10
R Problema funzione caricate con il body Javascript 1
asevenx Funzione strpos con l'utilizzo di array PHP 4
otto9due Funzione disabilita submit con checkbox privacy. Javascript 8
G Problema con la funzione array_combine PHP 2
ivarello Due Pulsanti con per lanciare funzione Javascript 0
D Scaricare database MYSql con una funzione MySQL 0
L problema con la funzione header!!! AIUTO! PHP 24
M Lanciare una funzione asp.net con javascript. E' possibile? ASP.NET 0
M problema con elementi della funzione Javascript 3
D [RISOLTO] funzione particolare con gli INPUT Javascript 6
L problema nella implementare una funzione con ritorno PHP 2
F Problema con funzione cambia password PHP 5
S Problema return con funzione PHP 2
L problema email con funzione mail PHP 1
ivarello Attivare funzione Javascript con Jquery jQuery 0
M servizio WYSIWYG con funzione DB Hosting 1
B Problema con funzione JS Javascript 4
I Spostare codice js inline in una funzione js con l'aiuto del dom Javascript 1
S problema con funzione php PHP 3
A Aiuto con Funzione/Query PHP 3
ivarello Attivare funzione con un link PHP 4
D Problema apostrofo con funzione unlink PHP 7
C Problema nel Caricare file e spostarlo con la funzione move_uploaded_file PHP 14
D Problema con funzione preg_match() per controllo email PHP 2
C Un form di input e uno di output con funzione javascript Javascript 17
H Funzione onmouseover per mostrare un box con un link da cliccare? Javascript 3
C Perchè non funziona la funzione if con la variabile getdate... ? Javascript 4
Neptune7650 Piccolo problema con la funzione include PHP 1
G Passare un argomento da una funzione all'altra con AJAX Ajax 7

Discussioni simili