Habría que ver cómo establecés el estilo display. Tal como lo estás intentando leer sólo obtendrás resultados si lo has asignado vía javascript o con el atributo html style colocado en el mismo tag del elemento. Si lo has asignado mediante una hoja de estilos o mediante un tag <style> no te funcionará. Para que funcione en esos casos hay que leer los estilos computados por el navegador mediante una función como esta:
Código:
function css(id,prop){
if(window.getComputedStyle){
return document.defaultView.getComputedStyle(document.getElementById(id),null).getPropertyValue(prop);
}else{
var re = /(-([a-z]){1})/g;
if (prop == 'float') prop = 'styleFloat';
if (re.test(prop)) {
prop = prop.replace(re, function () {
return arguments[2].toUpperCase();
});
}
return document.getElementById(id).currentStyle[prop] ? document.getElementById(id).currentStyle[prop] : null;
}
}