如果在jquery中的.eq()中声明

时间:2014-02-21 11:03:29

标签: jquery

我想删除li少于五的索引。所以我使用的是.eq()。我知道可以使用if语句完成,但我想在eq()内部使用if语句。

<ul>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>


$('li').each(function (i) {
    $(this).eq(function () {
        if (i < 5)
            return i;
        else
            return false;
    }).remove();
});

3 个答案:

答案 0 :(得分:5)

您可以使用lt()(小于)来获取索引较少的元素,然后给出值。

<强> Live Demo

$('li:lt(5)').remove()

说明:选择匹配集reference内索引小于索引的所有元素。

  

与索引相关的选择器(包括此“小于”选择器)   过滤与表达式匹配的元素集   在他们之前。他们根据的顺序缩小设定范围   此匹配集中的元素jQuery doc

答案 1 :(得分:0)

您可以使用:lt() Selector

$('li:lt(5)').remove()

答案 2 :(得分:0)

除了使用:lt()选择器外,您还可以使用.slice()

$('ul').children().slice(0, 4).remove();