検索

ホームページ  >  に質問  >  本文

javascript - jquery 如何排除最后一个li事件呢?

  1. 我希望这个最后li不要点。 像天猫一样的。 怎么用jquery排除最后一个事件啊?

<ul class="nav3">
    <li class="on">
        <a href="javascript:;">商品详情</a>
    </li>
    <li class=""><a href="javascript:;">商品评价 <span><?=count($reviews);?></span></a></li>
    <li class=""><a href="javascript:;">售后保障</a></li>
    <li class="mobile-buy">
        <a>手机购买</a>
        <img src="<?= $rs['goodsQrCode']?>" alt="手机购买">
    </li>
</ul>

/评论点击切换效果/

var $p_li =$("ul.nav3 li");
$p_li.click(function(){
    $(this).addClass("on").siblings().removeClass("on");
    var index = $p_li.index(this);
        $(".product-detail-de > p")
            .eq(index).show()
            .siblings().hide();
});`
  1. 我试过给 mobile-buy 加 pointer-events: none;
    但鼠标悬停在这个二维码下面没有显示大图的二维码。 所以pinter-events:none不是好方法。

本人菜鸟,求大家遇到过的解决分享一下。

巴扎黑巴扎黑2897日前401

全員に返信(4)返信します

  • 大家讲道理

    大家讲道理2017-04-10 16:54:10

    var $p_li =$("ul.nav3 li:not(:last)");

    返事
    0
  • 阿神

    阿神2017-04-10 16:54:10

    这个简单,直接用not选择就行了

    var $p_li =$("ul.nav3 li").not('.mobile-buy');

    返事
    0
  • 黄舟

    黄舟2017-04-10 16:54:10

    我觉得楼上的两个方法都行,看你最后的需求了,

    例如你这个手机购买,确定永远在 最后一个。那么使用

    var $p_li =$("ul.nav3 li").not(':last');
    

    比较好,这样子不怕 class的变化。

    如果手机购买 不一定在最后一个,建议使用

    var $p_li =$("ul.nav3 li").not('.mobile-buy');
    

    就是以后不要更改 li的class就好。

    返事
    0
  • PHPz

    PHPz2017-04-10 16:54:10

    $('.nav3').on('click', 'li:not(:last)', function(event){
        // 业务代码
    });

    或者:

    $('.nav3').on('click', 'li', function(event){
        var self = $(this);
        if(self.hasClass('mobile-buy')){
            return false;
        }
        // 业务代码
    });

    返事
    0
  • キャンセル返事