20

4 番目の<a>要素が見つかった後.hide()、残りはどうすればよいでしょうか? 以下は、これまでに書いたコードです。

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script>
    $(document).ready(function() {
        if($('a').length >= 4) {
            window.alert('4 or more');
        }
    });
</script>

<a>test </a><br>
<a>fed </a><br>
<a>fdes </a><br>
<a>grr </a><br>
<a>rerf </a><br>
<a>dferf </a>

何か案は?

4

3 に答える 3

23

:gt(index)セレクターを使用します。

$('a:gt(3)').hide();

または、より高速なslice関数:

$('a').slice(4).hide();

ライブデモ

:gt()は jQuery 拡張機能であり、CSS 仕様の一部ではないため、:gt() を使用するクエリは、ネイティブ DOM の querySelectorAll() メソッドによって提供されるパフォーマンス向上を利用できません。最新のブラウザーでパフォーマンスを向上させるには、代わりに $("your-pure-css-selector").slice(index) を使用してください。

于 2012-06-28T22:07:35.757 に答える
17

CSS ソリューション

ul li:nth-child(n+5) {  
    display: none
}

http://jsfiddle.net/mckanet/Sp6yE/

于 2012-12-24T21:20:50.367 に答える
8

それと同じくらい簡単です:

$("a:gt(3)").hide();

デモ: http://jsfiddle.net/gmrvK/

于 2012-06-28T22:07:00.690 に答える