在jQuery中有效地找到某个索引之前的所有子节点

时间:2013-04-03 16:27:58

标签: javascript jquery optimization

我正在遍历jQuery中的数据表,我需要对每个td中的第一个 n tr元素执行一些操作。目前,我正在使用以下结构来执行此操作:

$('#tableID').find('tr').each(function(){
    $(this).children('td').each(function(i){
        if(i < n){do_some_stuff_to(this)}
    }
}

我担心的是,当表变大时,我可能会遇到一些性能问题,迭代行中的每个td元素并运行if语句。与do_some_stuff相比,这个if语句可能不需要花费大量时间,但它仍然感觉很草率。

我想做的是将我的选择限制在索引小于 n 的所有孩子身上。像:nth-children(n)选择器之类的东西,但索引前面的所有东西也在我的jQuery选择器中返回。有没有办法在没有遍历每一行的每个孩子的情况下这样做?

1 个答案:

答案 0 :(得分:4)

那将是lt()选择器(低于):

$('#tableID tr td:lt(10)')
  

选择索引中小于匹配中给出的索引的所有元素   集。