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!