li
順序付けされていないリストからすべてを削除したいのですがli
、最後のli
誰かの前にそれがどのように行われたかを知りたいですか?
私は今持っています
$('.pagination ul li:not(:last)').remove();
しかし、それは最後のものを除くすべてを削除するので、正しくありません
li
順序付けされていないリストからすべてを削除したいのですがli
、最後のli
誰かの前にそれがどのように行われたかを知りたいですか?
私は今持っています
$('.pagination ul li:not(:last)').remove();
しかし、それは最後のものを除くすべてを削除するので、正しくありません
:eq()
負のインデックスで使用します。これは、コレクションの先頭ではなく末尾からカウントされます。
あなたの場合、次のように-2
(-1
が最後の<li>
)のインデックスを使用する必要があります。
$('.pagination ul li:not(:eq(-2))').remove();
この回答を完全にするために、別の(おそらくより読みやすい)方法を次に示します。
$('.pagination ul li:last-child').prev().siblings().remove();
ここで見ることができます:http://jsfiddle.net/bBxDL/1
Javascript
var $items = $('.pagination ul li');
$items.not($items.eq($items.length-2)).remove();
HTML
<div class="pagination">
<ul>
<li>Page 1</li>
<li>Page 2</li>
<li>Page 3</li>
<li>Page 4</li>
<li>Page 5</li>
</ul>
</div>
nth-last-of-type
最後の前のものを取得するために使用できます。付属のjsfiddle http://jsfiddle.net/zjLph/
HTML
<div class="pagination">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
JS
$('.pagination ul li').filter(':not(:nth-last-of-type(2))').remove();