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
function __div() { //éste atributo me lo he sacado de la manga, //pero es lo que pretendo conseguir y no hay manera this.nodeType = "div"; this.onclick = function() { alert("clic!"); } } // Y luego hacer tranquilamente un: 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
function __nuevo_div() { var div = document.createElement("div"); div.onclick = function() { alert("clic!"); } return div; } 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
function __nuevo_div() { var div = document.createElement("div"); div.mensaje = "clic!"; div.alerta = function() { alert(this.mensaje); } div.onclick = function() { this.alerta(); } return div; } 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
document.body.appendChild(div);
Y es ahí donde me da el error en el primer caso.