Foros del Web » Programando para Internet » Javascript »

Añadir método a objetos DOM

Estas en el tema de Añadir método a objetos DOM en el foro de Javascript en Foros del Web. Buenas Noches amigos. Me ha sugido una necesidad y necesito ayuda. Necesito saber de que forma puedo agregar nuevos metodos a elementos de la DOM ...
  #1 (permalink)  
Antiguo 27/12/2011, 18:54
 
Fecha de Ingreso: diciembre-2011
Mensajes: 45
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta Añadir método a objetos DOM

Buenas Noches amigos. Me ha sugido una necesidad y necesito ayuda.

Necesito saber de que forma puedo agregar nuevos metodos a elementos de la DOM que obtengo con llamadas como document.getElementById. Es decir algo como asi:

Código:
function alerta()
{
     alert(this.id);
   
}
y luego pueda ejecutarlo con algo como asi

Código:
document.getElementById('myelemento').alerta();
con un resultado = a "myelemento"

Les agradezco en el alma de antemao
  #2 (permalink)  
Antiguo 27/12/2011, 21:29
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 8 meses
Puntos: 187
Respuesta: Añadir método a objetos DOM

Código Javascript:
Ver original
  1. HTMLElement.prototype.sayName= function(){alert(this);}
Entonces:
Código Javascript:
Ver original
  1. document.getElementById('myelemento').sayName();
Se ejecuta.
  #3 (permalink)  
Antiguo 27/12/2011, 21:35
Avatar de Dnielf  
Fecha de Ingreso: diciembre-2008
Ubicación: 127.0.0.1
Mensajes: 72
Antigüedad: 15 años, 4 meses
Puntos: 14
Respuesta: Añadir método a objetos DOM

Pensaba responder esto, pero en realidad esto agrega el método a todos los divs ( porque __proto__ referencia al método prototype del constructor que en este caso es document.createElement , es decir a todos ) :

Código:
var x = document.getElementById("ejemplo");
x.__proto__.alert = function(){
    alert(this.id);
};

/* También :
x.constructor.prototype.alert = function(){

};
*/
x.alert();
Puedes llamar a una función externa :

Código:
function alertar(this){
 alert(this.id);
}

var x = document.getElementById("ejemplo");
alertar.call(x);
Ejemplo : http://jsfiddle.net/YfVes/
  #4 (permalink)  
Antiguo 28/12/2011, 06:49
 
Fecha de Ingreso: diciembre-2011
Mensajes: 45
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Añadir método a objetos DOM

muchas gracias amigos. Todas las respuestas me son utiles y he solucionado mi duda. de nuevo muchas gracias!!!

Etiquetas: dom, metodo, objetos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:55.