Jquery 显示隐藏列表元素
我有一个动态生成的列表,如下所示:Jquery 显示隐藏列表元素,jquery,Jquery,我有一个动态生成的列表,如下所示: <ul> <?php $currentYear = null; foreach($months as $m => $month){ if(is_null($currentYear) || $currentYear !== $month->year){ echo '<li id="year-'.$month->year.'"><strong>' . $month->
<ul>
<?php
$currentYear = null;
foreach($months as $m => $month){
if(is_null($currentYear) || $currentYear !== $month->year){
echo '<li id="year-'.$month->year.'"><strong>' . $month->year . '</strong></li>';
}
echo '<li class="'.$month->year.'"><a href="/news?year=' . $month->year . '&month=' . $month->month . '">' . date("M", strtotime($month->year . '-' . $month->month)) . ' (' . $month->total . ')</a></li>';
$currentYear = $month->year;
}
?>
</ul>
这会生成HTML,如下所示:
<ul>
<li><h2>2014</h2></li>
<li><a href="/news?year=2014&month=6">Jun (2)</a></li>
<li><a href="/news?year=2014&month=3">Mar (1)</a></li>
<li><a href="/news?year=2014&month=2">Feb (1)</a></li>
<li><a href="/news?year=2014&month=1">Jan (2)</a></li>
<li><h2>2013</h2></li>
<li><a href="/news?year=2013&month=11">Nov (1)</a></li>
<li><a href="/news?year=2013&month=10">Oct (2)</a></li>
<li><a href="/news?year=2013&month=9">Sep (1)</a></li>
...
</ul>
- 2014年
- 2013年
...
我需要列表项目(李的)被隐藏最初,在点击标题2014,说,所有属于2014年的新闻项目将显示或显示。所有标题都会出现同样的情况。试试看
$('ul li:has(a)').hide();
$('ul li :header').click(function(){
$(this).parent('li').nextUntil('li:has(:header)').toggle();
});
@AndrewCookson很高兴能帮助。。!你所说的
是什么意思这是一个很好的开始
,因为我不是以英语为母语的人……)我的意思是,这是一个很好的起点——对于我来说,如果我需要的话,这是一个很好的起点——尽管这是一个完整的解决方案。再次感谢。