jQuery exclude elements with certain class in selector

前端 未结 3 410
情话喂你
情话喂你 2020-11-29 00:02

I want to setup a click event trigger in jQuery for certain anchor tags.

I want to open certain links in a new tab while ignoring ones with a certain class (before y

相关标签:
3条回答
  • 2020-11-29 00:26

    To add some info that helped me today, a jQuery object/this can also be passed in to the .not() selector.

    $(document).ready(function(){
        $(".navitem").click(function(){
            $(".navitem").removeClass("active");
            $(".navitem").not($(this)).addClass("active");
        });
    });
    .navitem
    {
        width: 100px;
        background: red;
        color: white;
        display: inline-block;
        position: relative;
        text-align: center;
    }
    .navitem.active
    {
        background:green;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div class="navitem">Home</div>
    <div class="navitem">About</div>
    <div class="navitem">Pricing</div>

    The above example can be simplified, but wanted to show the usage of this in the not() selector.

    0 讨论(0)
  • use this..

    $(".content_box a:not('.button')")

    0 讨论(0)
  • 2020-11-29 00:50

    You can use the .not() method:

    $(".content_box a").not(".button")
    

    Alternatively, you can also use the :not() selector:

    $(".content_box a:not('.button')")
    

    There is little difference between the two approaches, except .not() is more readable (especially when chained) and :not() is very marginally faster. See this Stack Overflow answer for more info on the differences.

    0 讨论(0)
提交回复
热议问题