Cover all sampling elements except the first



  • I'm going to hide all the elements of the sample except the first one. There's the following house:

    <div id="_result">
      <div><!--оставить в живых этот блок-->
        <div>
           <div>...</div>
        </div>
     </div><!-- оставить в живых этот блок-->
     <p>..</p>
     <ul>....</ul>
     <p>..</p>
     <ul>..</ul>
     <div></div>
    </div>
    

    I write the following.

    $("#_result:not(:eq(0))").hide();
    

    but doesn't work how to fix it?



  • Here. "#_result:not(:eq(0))" The expression will find all the elements with id=_result that are not the first in the sample, because this element is only one, it does not fall under the sample.

    It's not the first element to be found among children, it's necessary to add a sign. >

    "#_result>:not(:eq(0))"

    For example:

    $("#_result>:not(:eq(0))").hide();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="_result">
      <div>
        <!--оставить в живых этот блок-->
        <div>
          <div>я должен быть виден</div>
        </div>
      </div>
      <!-- оставить в живых этот блок-->
      <p>а я нет</p>
      <ul>и я нет</ul>
      <p>и я</p>
      <ul>и я</ul>
      <div>и даже я</div>
    </div>

    You can go another way and choose what you have to leave in the code.

    $("#_result").children().slice(1).hide();
    

    Example

    $("#_result").children().slice(1).hide();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="_result">
      <div>
        <!--оставить в живых этот блок-->
        <div>
          <div>я должен быть виден</div>
        </div>
      </div>
      <!-- оставить в живых этот блок-->
      <p>а я нет</p>
      <ul>и я нет</ul>
      <p>и я</p>
      <ul>и я</ul>
      <div>и даже я</div>
    </div>


Log in to reply
 


Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2