选择一组跨度的第一个/最后一个

时间:2015-04-11 16:39:24

标签: jquery

我的代码中有这种类似于表的结构。有没有一种漂亮的方法可以选择div中包含的第一个“半”?

<div> 
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>

我可以做典型的div - 孩子,然后数除以2。但我想知道是否有一个基于子间隔位置的选择器。像.find(“span [0-4]”)

1 个答案:

答案 0 :(得分:3)

我建议使用.slice() method。通过访问span属性检索.length元素的总数,然后将其除以一半:

&#13;
&#13;
var $el = $('div span');
$el.slice(0, Math.ceil($el.length / 2)).addClass('half');
&#13;
div span {
    display: inline-block;
    height: 20px;
    width: 100%;
    border: 2px solid;
}
.half {
    border: 2px solid #f00;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div> 
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
&#13;
&#13;
&#13;

要访问后半部分,请改为使用以下任一项:

$el.slice(Math.ceil($el.length / 2), $el.length)
$el.slice(-Math.ceil($el.length / 2))