9

li順序付けされていないリストからすべてを削除したいのですがli、最後のli誰かの前にそれがどのように行われたかを知りたいですか?

私は今持っています

$('.pagination ul li:not(:last)').remove();

しかし、それは最後のものを除くすべてを削除するので、正しくありません

4

4 に答える 4

9

:eq()負のインデックスで使用します。これは、コレクションの先頭ではなく末尾からカウントされます。

あなたの場合、次のように-2(-1が最後の<li>)のインデックスを使用する必要があります。

$('.pagination ul li:not(:eq(-2))').remove();

簡単なデモンストレーションを次に示します。

于 2013-04-11T09:20:21.153 に答える
4

この回答を完全にするために、別の(おそらくより読みやすい)方法を次に示します。

$('.pagination ul li:last-child').prev().siblings().remove();

ここで見ることができます:http://jsfiddle.net/bBxDL/1

于 2013-04-11T09:23:24.330 に答える
2

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>

作業例 http://jsfiddle.net/B8NPV/

于 2013-04-11T09:21:51.667 に答える
2

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();
于 2013-04-11T09:22:31.933 に答える