首页 > jQuery hide()show()没反应?求大神支招

jQuery hide()show()没反应?求大神支招

 $(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)

【热门文章】
【热门文章】