свойство display, как известно, наследуется от родительского элемента. Но если display у элемента не указан, то style.display вернёт значение по умолчанию, хотя у родительского элемента display может отличатся.
Как узнать реальный display
Например
<div style="display:none">
<span id="spanid">блабла<span>
</div>
<script>
alert(document.getElementById('spanid').style.display);
</script>
В результате получим не none, что было бы логично, а ''.