In this type of "#_result:not(:eq(0))" expression will find all elements with id = _result that are not the first in the sample, since there is only one such element, it is not included in the sample.
To solve, you need to look for not the first element among children, for this you need 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 also go the other way and choose what you need 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>
$("#_result :not(:eq(0))").hide();- Grundy