我正在尝试创建一个博客存档列表,该列表按年和月显示所有文章(我已经使用 PHP/MySQL 完成了)
现在我正在努力做到这一点,以便在页面加载时,所有年份都被折叠,除了最近的一年/月,而且每个年份都会在点击时折叠/展开。
目前,我的 jQuery 单击功能将打开或关闭所有 li 元素,而不仅仅是我单击的那个。我对 jQuery 还是很陌生,所以不知道如何让它只影响我单击的列表部分。
任何帮助都会很重要!
到目前为止,这是我的代码(列表是从 PHP/MySQL 循环生成的)
<ul class="archive_year">
<li id="years">2012</li>
<ul class="archive_month">
<li id="months">September</li>
<ul class="archive_posts">
<li id="posts">Product Review</li>
<li id="posts">UK men forgotten how to act like Gentlemen</li>
<li id="posts">What Do Mormons Believe? Ex-Mormon Speaks Out</li>
<li id="posts">Here is a new post with lots of text and a long title</li>
</ul>
<li id="months">August</li>
<ul class="archive_posts">
<li id="posts">A blog post with an image!</li>
</ul>
</ul>
<li id="years">2011</li>
<ul class="archive_month">
<li id="months">July</li>
<ul class="archive_posts">
<li id="posts">New Blog!</li>
</ul>
</ul>
<li id="years">2009</li>
<ul class="archive_month">
<li id="months">January</li>
<ul class="archive_posts">
<li id="posts">Photography 101</li>
</ul>
</ul>
</ul>
到目前为止,这是 jQuery:
$(document).ready(function() {
//$(".archive_month ul:gt(0)").hide();
$('.archive_month ul').hide();
$('.archive_year > li').click(function() {
$(this).parent().find('ul').slideToggle();
});
$('.archive_month > li').click(function() {
$(this).parent().find('ul').slideToggle();
});
});
我正在试验 $(".archive_month ul:gt(0)").hide(); 但它没有按预期工作,它会切换打开和关闭。
有什么帮助/想法吗?
此外,这里是一个现场例子的小提琴:http: //jsfiddle.net/MrLuke/VNkM2/1/