Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/03/2009, 02:32
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 9 meses
Puntos: 834
Respuesta: Problemas al cambiar estilo de un div

Cita:
Iniciado por jeybi Ver Mensaje
Lo que tratan de decirte es que

var menu = document.getElementById(this);

es incorrecto, getElementById espera una string y tu le estas mandando un objeto. Supongo que lo que quieres es que cambie el border de ese div, solo necesitarias usar

this.style.borderColor=='#669900' ? this.style.borderColor='#99CC00' : this.style.borderColor='#669900';

ya que this apunta al elemento que llamo al metedo, en tu caso cada uno de esos divs.
En realidad, no. Cuando se aplica de esa manera, this refiere a window, no al elemento que dispara el evento:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script>
function ver(){
	alert(this)
}
</script>
</head>


<body>
<div onclick="ver()">test</div>
</body>
</html>
Si se testea en Firefox, es más claro: [object Window]. En Explorer: [object]
Y si en ambos, dentro del alert colocamos this.nodeName, devuelve undefined (si apuntara al objeto devolvería div).

Última edición por Panino5001; 14/03/2009 a las 02:37