ciao e grazie davvero della risposta! Dopo un po' ci sono arrivata da sola a questa conclusione, per cui ho deciso di cambiare un po' il codice e, ovviamente, sto avendo altri problemi. In pratica sto cercando di creare una tabella 'dinamica': nella colonna di intestazione c'è una input che fa da titolo, e sotto altre due colonne. Queste ultime devono poter essere eliminate e aggiunte... e devo aver la possibilità di creare anche più tabelle... Questo è il mio oggetto:
codice:
function tabella()
{
this.tabell=document.createElement('table');
this.rigatitolo=document.createElement('tr');
this.coltitolo=document.createElement('td');
this.coltitolo.setAttribute('colspan',3);
this.titolo=document.createElement('input');
this.titolo.setAttribute('type','text');
this.titolo.setAttribute('class','titolo');
this.creatabella=function ()
{
document.getElementById('contenitore').appendChild(this.tabell);
this.tabell.appendChild(this.rigatitolo);
this.rigatitolo.appendChild(this.coltitolo);
this.coltitolo.appendChild(this.titolo);
this.aggiungiriga(0);
}
this.aggiungiriga=function(index)
{
this.riga=[];
this.riga[index]=document.createElement('tr');
var colspec=document.createElement('td');
var colval=document.createElement('td');
var specifica=document.createElement('input');
specifica.setAttribute('type','text');
specifica.setAttribute('class','specifica');
var valore=document.createElement('input');
valore.setAttribute('type','text');
valore.setAttribute('class','valore');
this.tabell.appendChild(this.riga[index]);
this.riga[index].appendChild(colspec);
this.riga[index].appendChild(colval);
colspec.appendChild(specifica);
colval.appendChild(valore);
}
this.rimuoviriga=function(index)
{
this.tabell.removeChild(this.riga[index]);
this.riga.splice(index, 1);
}
}
E questa è la funzione dove lo creo:
codice:
function setta()
{
var ultimi=1;
var meno=[];
var tab=new tabella();
tab.creatabella();
meno[0]=document.createElement('div');
meno[0].setAttribute('class','meno');
meno[0].innerHTML="-";
document.getElementById('colonnameno').appendChild(meno[0]);
var piu=document.createElement('div');
piu.setAttribute('class','piu');
piu.innerHTML="+";
document.getElementById('contenitore').appendChild(piu);
piu.onclick=function(e)
{
tab.aggiungiriga(ultimi);
meno[ultimi]=document.createElement('div');
meno[ultimi].setAttribute('class','meno');
meno[ultimi].innerHTML="-";
document.getElementById('colonnameno').appendChild(meno[ultimi]);
ultimi++;
}
var i=0;
while(i<=ultimi)
{
meno[i].onclick=function(e)
{
tab.rimuoviriga(i);
meno.splice(i, 1);
ultimi--;
}
i++;
}
}
In pratica ho deciso di mettere 'piu' e 'meno' al di fuori dell'oggetto, e richiamare i metodi aggiungiriga() e rimuoviriga() a loro click. Il problema ora è sulla rimozione della riga...
Funziona solo per la prima riga... Ti ringrazio davvero moltissimo per il tempo che mi hai dedicato...