Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2007, 07:24
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
prototype de un objeto HTML

Hola.

Pues quería hacer algo así, pero que funcione en IE. La idea es cambiar la propiedad color del style de la capa con un método suyo.
Código PHP:
<div id="capa">Hola!</div>

<
script type="text/javascript">
var 
tipoDIVs document.createElement("DIV").constructor;
var 
functionSetColor = function(col) {
    
this.style.color col;

tipoDIVs.prototype.setColor functionSetColor;

$(
"capa").setColor("red");
</script> 
En IE (IE6) el error que me da es:
Cita:
Iniciado por IE6
'tipoDIVs.prototype' es nulo o no es un objeto
Y tipoDIVs es undefined. Así que deduzco que no existe aquello de .constructor.

He probado con
Código PHP:
Object.prototype.setColor functionSetColor;
$(
"capa").prototype.setColor functionSetColor
Y ninguna de las dos ha dado resultado. La primera sí funciona pero luego no es posible utilizarla con elementos HTML, y la segunda era a la desesperada, por si colaba.


Ésto último sí funciona en los dos navegadores:
Código PHP:
$("capa").setColor functionSetColor;
$(
"capa").setColor("red"); 
Pero me gustaría algo un poco más global, para todos los DIV del documento, y no me gustaría tener que recorrerlos todos para ponerles el método éste...


¿Ideas para nuestro navegador favorito?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.