Вы можете сделать что-то вроде этого:
$(function() {
$("ul li a").click(function() {
$(this).parent().next().toggle("fast").siblings("[id]").hide("fast");
});
});
Вы можете проверить это здесь , что это делает, он все еще переключает брата <li>
, но затем смотрит на .siblings()
атрибут ID и .hide()
их, если показать.
Если разметка не заблокирована, вы можете еще больше упростить ее следующим образом:
<ul class="navigation">
<li class="toggle">Us</li>
<li class="content">about thedot</li>
<li class="toggle">Portfolio</li>
<li class="content"></li>
<li class="toggle">Contact</li>
<li class="content">contact deets</li>
<li class="toggle">Twitter</li>
<li class="content">some twitter shit</li>
<li><a href="#">Blog</a></li>
</ul>
И такой скрипт:
$(function() {
$("li.content").hide();
$("ul.navigation").delegate("li.toggle", "click", function() {
$(this).next().toggle("fast").siblings(".content").hide("fast");
});
});
Это вопрос предпочтений, но я нахожу этот подход немного чище и более стильным, посмотрите результат здесь .