Ho appena iniziato a leggere su JavaScript e sto provando a scrivere una piccola funzione ricorsiva che cercherebbe attraverso determinati nodi e restituirà una lista di valori come una stringa.Javascript - Funzione ricorsiva per scorrere gli elementi
La mia struttura HTML potrebbe essere qualcosa di simile
<div id="parentfolder">parentfolder1
<div class ="item1">item1</div>
<div class ="item2">item2</div>
<div id="parentfolder">parentfolder2
<div class ="item1">item1</div>
<div class ="item2">item2</div>
</div>
</div>
Ed ecco la mia funzione Javascript:
function jsoncreator(parentfolderclass){
var jstring = '';
//get first occurance of parent folder
var parentfolder = document.getElementById(parentfolderclass);
var childnodes = parentfolder.childNodes;
for (property in childnodes){
jstring += property+ childnodes[property];
if(childnodes[property] === parentfolderclass){
jsoncreator(parentfolderclass);
jstring += childnodes[property].value + '<br>';
}
else{
//jstring += childnodes[i].value + '<br>';
}
}
document.write(jstring);
}
Tutti im ricevendo indietro è
0[object Text]1[object HTMLDivElement]2[object Text]3[object HTMLDivElement]4[object Text]5[object HTMLDivElement]6[object Text]length7itemfunction item() { [native code] }
Quando provo a stampare il valori di childnodes, ottengo un sacco di ritorni indefiniti.
Se qualcuno potesse spiegare cosa sto facendo male, lo apprezzerei molto.
Per un primo ID duplicato non è un codice HTML valido. A parte questo, non hai effettivamente descritto cosa dovrebbe contenere esattamente l'array restituito. –
@ FabrícioMatté restituirebbe una lista di valori come una stringa – dudemanbearpig
"Valori" come nel loro contenuto testuale? –