рони,
действительно, что-то про множественный селектор я забыл. работает.
но соль в том, что это был частный случай. косяк в js где-то есть. просто выше есть button (который в nav), который отрабатывает роль toggle, скрывает/показывает родительский блок ul, в котором и расположены эти элементы li.
<div id="underheader">
<div class="main_center over">
<header>
<button></button>
<nav>
<a class="current" href="#">месяц</a>
<a href="#">полгода</a>
<button></button>
</nav>
</header>
<ul>
<li>
<div class="thumb">
<a rel="link" href="#"></a>
<div class="overlay_corner"></div>
<div class="overlay_title">Современная архитектура и красивый дизайн дома</div>
<div class="overlay_like">4</div>
<img src="content/1.jpg" alt=""/>
</div>
<div class="desc">
<p class="date">Июнь 13, 2014</p>
<p class="stats"><span class="comment">2</span><span class="like">4</span></p>
<h1><a href="#" title="">Современная архитектура и красивый дизайн дома</a></h1>
</div>
</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</div>
</div>
Посему для него аналогично прописываю:
window.onload = function () {
var underheader = gi("underheader"), //underheader
buttonClose = gt(underheader, "BUTTON")[1], //выборка кнопки сворачивания
ul = gt(underheader, "UL"); //блок сворачивания
buttonClose.onclick = function(){toggle(ul);};
};
function gi(id) {
return document.getElementById(id);
}
function gt(obj, tag) {
return obj.getElementsByTagName(tag);
}
function toggle(obj) {
obj.style.display = (obj.style.display == 'none') ? '' : 'none';
}
Вся та же ошибка:
Uncaught TypeError: Cannot read property 'display' of undefined
Посему данная проблема по-прежнему актуальна)