Прежде всего, я хотел бы попросить вас не отсылать меня к jQuery. Я не использую jQuery, и я не хотел бы использовать его в этом случае.
Как говорится, давайте посмотрим, смогу ли я описать свою цель. У меня есть список ссылок следующим образом:
<a href="#" class="title">1ST TITLE</a>
<a href="#">Item 1</a>
<a href="#">Item 2</a>
... more items ...
<a href="#" class="title">2ND TITLE</a>
<a href="#">Item 1</a>
<a href="#">Item 2</a>
... more items ...
<a href="#" class="title">3RD TITLE</a>
<a href="#">Item 1</a>
<a href="#">Item 2</a>
... more items ...
и т. Д. (Всего 77 ссылок, включая заголовки)
Теперь я скрываю все ссылки НЕ 'title' следующим образом:
var sideMenu = getElementsByClassName(document, 'sm');
var links = sideMenu[0].getElementsByTagName('a');
for (i = 0; i < links.length; i++) {
if (!hasClass(links[i], 'title')) {
links[i].style.display = 'none';
}
}
getElementsByClassName
и hasClass
- функции, которые я написал для этого.
Здесь все работает отлично.
Теперь я хотел бы, чтобы в случае, если одна из ссылок title
также имела класс active
, я не хочу скрывать ссылки, следующие за ней.
Например, если 2ND TITLE
имеет класс active
, я хотел бы показать все следующие ссылки 2ND TITLE
, но при этом скрыть ссылки 1ST TITLE
и 3RD TITLE
.