El problema es que con
elemento.style.display, solo podés recuperar el valor se la propiedad css es declarada en el atributo style, en el caso de querer saber un valor definido dentro de
<style>
#capa{
display: none;
}
</style>
debés usar el método
window.getComputedStyle
Ejemplo
Código HTML:
Ver original<!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"> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
/*<![CDATA[*/
#hola{
color: #000000;
}
/*]]>*/
<script type="text/javascript"> //<![CDATA[
/* script */
function menus_desplegable() {
var d=document.getElementById("hola");
alert(d.style.display);
alert(d.style.color);
}
function menus_desplegable2(elemento,propiedad){
var d = document.getElementById(elemento);
if (d.currentStyle){// ie<9
var valorPropiedad = d.currentStyle[propiedad];
}else if (window.getComputedStyle){
var valorPropiedad = document.defaultView.getComputedStyle(d,null).getPropertyValue(propiedad);
}
alert(d.style.display);
alert(valorPropiedad);
}
//]]>
<button onclick="menus_desplegable();">ver display y color div hola
</button> <button onclick="menus_desplegable2('hola','color');">ver display y color div hola, método 2
</button> <div class="menus_desplegable" id="hola" style="display:none;">Descripción
</div>
Saludos