选择一组范围的前半部分/后半部分



我的代码中有这种类似表格的结构。有没有一种漂亮的方法来选择div 中包含的跨度的前"一半"?

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

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

我建议使用.slice()方法。通过访问 .length 属性检索span元素的总数,然后将其分成两半:

var $el = $('div span');
$el.slice(0, Math.ceil($el.length / 2)).addClass('half');
div span {
    display: inline-block;
    height: 20px;
    width: 100%;
    border: 2px solid;
}
.half {
    border: 2px solid #f00;
}
<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>

要访问后半部分,请改用以下任一方法:

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

相关内容

最新更新