Search code examples
javascriptjquerydomjquery-selectorsjquery-filter

How to remove specific element from element array in javascript or jquery


Example:

<div id="Elmnt_1" class="MyElement">
<div id="Elmnt_2" class="MyElement">
<div id="Elmnt_3" class="MyElement">
<div id="Elmnt_4" class="MyElement">

How to select all element which have class="MyElement" and omit one element from it using specific id

My guess:

var fltrdElmnts = $(".MyElement").filter(! $( "#Elmnt_2" ) );
fltrdElmnts.remove();

Expected result:

<div id="Elmnt_2" class="MyElement">

Solution

  • You can use :not() pseudo class inside selector.

    $(".MyElement:not(#Elmnt_2)")
    

    $(".MyElement:not(#Elmnt_2)").css('color', 'red')
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="Elmnt_1" class="MyElement">Div</div>
    <div id="Elmnt_2" class="MyElement">Div</div>
    <div id="Elmnt_3" class="MyElement">Div</div>
    <div id="Elmnt_4" class="MyElement">Div</div>

    Or you can use .not() method.

    $(".MyElement").not('#Elmnt_2')
    

    $(".MyElement").not('#Elmnt_2').css('color', 'red')
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="Elmnt_1" class="MyElement">Div</div>
    <div id="Elmnt_2" class="MyElement">Div</div>
    <div id="Elmnt_3" class="MyElement">Div</div>
    <div id="Elmnt_4" class="MyElement">Div</div>