Perfetto

Adesso però ho problemi con l'aggiunta di un elemento.
Il problema è con la modifica dell'elemento.

Add() clona l'elemento e inizia a scorrere i vari elementi figli, in modo da cambiarne il nome (nelle proprietà dove compare la lettera 'X' si deve sostituire un numero progressivo).

Pare funzionare tutto ma se passo un 'children' a 'setAtt', all'alert di 'A' mi dice che è 'null'
Mentre se proprio prima dell'istruzione stampo il 'children[i]' passato non mi restituisce 'null'!!

Come mai?!

Qua il codice delle funzioni
codice:
function setAtt(attribute, replacer, to)
{		
	var A = to.getAttribute(attribute);
	alert(A);
	A = A.replace("X",replacer);
	to.setAttribute(attribute, to.getAttribute(attribute).replace("X",replacer));
}

function Add(num)
{
	var rispDiv = document.getElementById("Risposte"); // Div contenente le risposte
	var Div = document.getElementById("RispostaX"); // Modello da clonare

    nDiv = Div.cloneNode(true);
	
	// Ridefinisco gli attributi degli elementi sostituendo la generica X


/*
<span id="numX">X</span> - <input type="text" name="RispostaX" value="" class="testo" />
	[img]<%= BtnPlus %>[/img]
	[img]<%= BtnMinus %>[/img]
*/

	setAtt("id",J+1,nDiv);

	if (nDiv.hasChildNodes())
	// So, first we check if the object is not empty, if the object has child nodes
	 {
	   var children = nDiv.childNodes;
	   for (var i = 0; i < children.length; i++) 
	   {
			switch(children[i].tagName) 
			{
			  
			  case "SPAN":
			  alert(children[i]);
				setAtt("name",J+1,children[i]);
				children[i].innerHTML = J+1;
			  break; //si ferma qui

			  case "INPUT":
			  alert("WA!");
				setAtt("name",J+1,children[i]);
				setAtt("id",J+1,children[i]);
			  break; //si ferma qui
			  
			  case "IMG":
			  alert("WI!");
			    setAtt("onClick",J+1,children[i]);
			  break; //si ferma qui

			  default:
			  alert("WO!");
			    //niente
			};
		}
	 }
	 
	// Aggiungo l'elemento creato alla lista
	rispDiv.appendChild(nDiv); 
	
	J += 1;
}
Aiutatemi vi prego!