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 回答