Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/11/2008, 07:02
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, 6 meses
Puntos: 834
Respuesta: Guardar en una variable el contenido de la propiedad (visibilyty) de una c

Veamos. Cuando a un elemento le asignás un estilo inline con el atributo html style. Ejemplo:
Código PHP:
<div id="juan" style="width:500px"></div
Entonces podés usar, para que te devuelva el ancho algo como esto:
Código PHP:
alert(document.getElementById('juan').style.width); 
Y eso funciona. Ahora, si en lugar de asignar el estilo inline, lo asignás con una hoja de estilos o con un elemento <style></style>, eso ya no funciona.
Entonces hay que obtenerlo de otra manera. Lo que pasa es que para Explorer hay que hacerlo de una manera y para el resto de los navegadores de otra.
Explorer lo entiende con:
Código PHP:
document.getElementById('juan').currentStyle[nombrePropiedadCss
y el resto de los navegadores lo entiende así:
Código PHP:
window.getComputedStyle(document.getElementById('juan'), "").getPropertyValue(nombrePropiedadCss
Pero también hay que tener cuidado con el nombre de las propiedades. Por ejemplo, la propiedad css background-color para todos los navegadores será (usado con getPropetyValue) background-color, pero para explorer será backgroundColor (sintaxis de camello, es decir, todo pegado y las diferentes palabras con la inicial en mayúscula, excepro la primera).
Pero, si no querés complicarte, definí el estilo inline y listo. Esto, por ejemplo, funciona sin problemas:
Código PHP:
<!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> </title>
<
script type="text/javascript">
onload=function(){
alert(document.getElementById('pp').style.visibility);
}
</script>  
</head>

<body>
<div id="pp" style="visibility:hidden"></div>
</body>
</html>