Hola a todos, estoy empezando a trastear con clases en Javascript y la verdad es que me esta costando mas de lo que yo pensaba.
La idea es crear una clase tabla con varios metodos o funciones como (creartabla,insertarfila,borrarfila).El codigo que tengo hasta ahora es el siguiente:
Código:
function tabla(){
this.a = function (){alert("hjgjgjgjhg");}
this.creaTabla=function (iFilas,iColumnas,sName){
this.filas=iFilas;
this.columnas=iColumnas;
this.sName=sName;
oTabla = null;
oTbody = null;
oTabla = document.createElement("table");
oTbody = document.createElement("tbody");
oTbody.setAttribute("id","tbody"+sName);
oTbody.setAttribute("name","tbody"+sName);
oTabla.setAttribute("id","tabla"+sName);
oTabla.setAttribute("name","tabla"+sName);
oTabla.appendChild(oTbody);
//Creo las filas
for (i=0;i<=this.filas-1;i++){
oTbody.insertRow(i);
for(j=0;j<=this.columnas-1;j++){
oTbody.rows[i].insertCell(j);
}
}
//averiguo el numero de argumentos opcionales y pongo los atributos de la tabla
for(i=3;i<=((arguments.length - 2));i++) {
oTabla.setAttribute (arguments[i],arguments[i+1]);
i++;
}
return oTabla;
}
this.creaFila=function();
this.borraFila=function();
y lo llamo de la siguiente manera:
Código:
var otablas = new tabla();
otablas.a();
otablas =tabla.creaTabla(2,2,'prueba','border',1,'cellPadding',0,'cellSpacing',0,'align','center');
}
El problema que me indica Firebug todo el rato es que tabla.creaTabla is not a function y de hay no lo saco.
Solo quiero aprender un poco OOP para ver si me interesa utilizar objetos o no. espero que descubrais donde fallo y si me podeis aconsejar como funcionar con OOP pues mejor ya que he visto que hay varias maneras como por ejemplo declarar la clase en una variable, algo asi:
Código:
var objeto = function tabla(){ ... y aqui el resto de la clase}