Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2010, 08:30
nanchet
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Clase para crear un objeto DOM?

Muy buenas a todos! llevo un tiempo leyendo posts de este foro tan útil y ha llegado el momento de formular mi primera pregunta para la cual no he encontrado respuesta ni pistas por ningún sitio, ahí va.

Existe alguna forma o método para crear un objeto del DOM que no sea el típico document.createElement() ?

Mi intención es hacer una clase con la que pueda crear un objeto DOM con sus métodos y demás, hago un mockup de lo que sería, pero que no funciona.

Código Javascript:
Ver original
  1. function __div() {
  2.   //éste atributo me lo he sacado de la manga,
  3.   //pero es lo que pretendo conseguir y no hay manera
  4.   this.nodeType = "div";
  5.   this.onclick = function() {
  6.     alert("clic!");
  7.   }
  8. }
  9.  
  10. // Y luego hacer tranquilamente un:
  11. var div = new __div();

Pero no hay suerte

Lo que sí he conseguido que funcione pero que no es exactamente lo que quiero es lo siguiente.

Código Javascript:
Ver original
  1. function __nuevo_div() {
  2.   var div = document.createElement("div");
  3.   div.onclick = function() {
  4.     alert("clic!");
  5.   }
  6.  
  7.   return div;
  8. }
  9.  
  10. var div = __nuevo_div();

Además de esto también quería preguntar otra cosilla. "Es legal" construir métodos para los objetos del DOM, además de los que tienen ya de forma innata? sé que se puede pero no sé si es estándar. Ejemplo:

Código Javascript:
Ver original
  1. function __nuevo_div() {
  2.   var div = document.createElement("div");
  3.   div.mensaje = "clic!";
  4.   div.alerta = function() {
  5.     alert(this.mensaje);
  6.   }
  7.   div.onclick = function() {
  8.     this.alerta();
  9.   }
  10.  
  11.   return div;
  12. }
  13.  
  14. var div = __nuevo_div();

Qué opinais? Contestadme con lo que sea, aunque sea para decirme que lo estoy haciendo mal y que me olvide de las "pseudoclases" para estos menesteres, así ya no seguiré comiéndome la cabeza.

A ver si ahora que me he animado a registrarme (y el trabajo me lo permita) me pongo y ayudo al resto de los usuarios.

Muchas gracias!

P.D.: Por supuesto después de cada función aplico un:

Código Javascript:
Ver original
  1. document.body.appendChild(div);

Y es ahí donde me da el error en el primer caso.

Última edición por nanchet; 16/12/2010 a las 08:39