$(document).ready(function(){
var $category = $('ul li:gt(5):not(:last)');
$category.hide(); //隐藏这部分,除了"其他品牌相机"
$("span").click(function(){
if($category.is(":visible")){
$category.hide();
$(this).text("显示全部品牌");
}else{
$category.show();
$(this).text("精简显示品牌");
}
return false;
})
})
下面是html部分:
<div class="SubCategoryBox">
<ul>
<li ><a href="#">佳能</a><i>(30440) </i></li>
<li ><a href="#">索尼</a><i>(27220) </i></li>
<li ><a href="#">三星</a><i>(20808) </i></li>
<li ><a href="#">尼康</a><i>(17821) </i></li>
<li ><a href="#">松下</a><i>(12289) </i></li>
<li ><a href="#">卡西欧</a><i>(8242) </i></li>//需要隐藏
<li ><a href="#">富士</a><i>(14894) </i></li>//需要隐藏
<li ><a href="#">柯达</a><i>(9520) </i></li>//需要隐藏
<li ><a href="#">宾得</a><i>(2195) </i></li>//需要隐藏
<li ><a href="#">理光</a><i>(4114) </i></li>//需要隐藏
<li ><a href="#">奥林巴斯</a><i>(12205) </i></li>//需要隐藏
<li ><a href="#">明基</a><i>(1466) </i></li>//需要隐藏
<li ><a href="#">爱国者</a><i>(3091) </i></li>//需要隐藏
<li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
</ul>
<div class="showmore">
<span>显示全部品牌</span>
</div>
</div>
问题是(ul li:gt(5):not(:last))部分并没有隐藏,而且按钮“显示全部品牌”也没反应??
下面是截图:
敢问 jQuery 引用的是什么版本?我刚试了 1.11.3 下面没有问题
http://jsbin.com/dudakowavo/edit?html,js,output
希望有所帮助~ :)
没有问题呢,你看看是不是有其它的错误~~~
试了一下确实没问题,对哦js问题可以打开控制台就可以看到错误信息了,这是调试的一个小技巧。还有
<li >卡西欧(8242) </li>//需要隐藏
应该是$(ul li:gt(4):not(:last))
就用你这代码测了一下,没有问题..
如果还是有问题可以考虑 toggle(fn,fn)