https://jsfiddle.net/37kxhvjr/3/
pridano ul.style.display = 'none';
zmeneno ul.style.display = ul.style.display == 'none' ? '' : 'none';
zmeneno .ul { /*display: none;*/}
Totiz, element ul.style neni totez jako element style.cssRules. Dokud nedas do UL primo none pres js nebo pres inline styly, tak to tam neni.
<ul> ul.style.display = 'none'; alert(ul.style.display); // vypise none
<ul style="display:none;"> alert(ul.style.display); // opet by mel vypsat none
<style>ul {display:none;} <ul> alert(ul.style.display); // vypise undefined nebo '', protoze do ul jsi nic nedaval. Tak style nedopocitava vlastnosti do js element tree.
Ale slo by to resit treba zmenou css:class, js:className. Class do html musis napsat nebo tam zadnou nedas. Takze ji js vidi a vlastnosti prebira ze <style>.