I want to delete all li within an ul except for previous five lis and next five lis.
For example:
<ul>
<li id="Li0"></li>
<li id="Li1"></li>
<li id="Li2"></li>
<li id="Li3"></li>
<li id="Li4"></li>
<li id="Li5"></li>
<li id="Li6"></li>
<li id="Li7"></li>
<li id="Li8"></li>
<li id="Li9"></li>
<li id="Li10"></li>
<li id="Li11"></li>
<li id="Li12"></li>
<li id="Li13"></li>
<li id="Li14"></li>
<li id="Li15"></li>
<li id="Li16"></li>
<li id="Li17"></li>
<li id="Li18"></li>
<li id="Li19"></li>
<li id="Li20"></li>
</ul>
Let say I click on Li with id Li9. So the result should be
<ul>
<li id="Li4"></li>
<li id="Li5"></li>
<li id="Li6"></li>
<li id="Li7"></li>
<li id="Li8"></li>
<li id="Li9"></li>
<li id="Li10"></li>
<li id="Li11"></li>
<li id="Li12"></li>
<li id="Li13"></li>
<li id="Li14"></li>
</ul>
I know there are :lt() and :gt() selectors for excluding elements but till now I haven’t made much progress.
If you want to remove all elements except the previous and following five, relative to the clicked element, you can use
.slice()[docs] together with.index()[docs]:This was the answer to the question “Remove all but the first and last five elements in a list”.
That’s very easy to do with
.slice()[docs]: