jQuery - 选择三个组

时间:2014-05-19 07:58:42

标签: jquery

我发现了一些类似的问题,但似乎都没有解决我的问题。我使用等高列js函数,但需要将其应用于三列的每一行。它们不包含在行div中,因为它是响应式的,因此数字会发生变化,因此我需要jQuery对每三个元素进行分组并将函数应用于它们。该函数遍历所选元素,找到最高元素并将CSS高度应用于它们。

考虑到html:

<div id="container">
 <div class="column"></div>
 <div class="column"></div>
 <div class="column"></div>
 <div class="column"></div>
 <div class="column"></div>
 <div class="column"></div>
</div>

前3列必须具有相同的高度,接下来的3列必须具有相同的高度等。所以我必须选择它们并以某种方式应用该功能。现在我正在执行以下操作,因为它只有两行,但我需要缩放它以便它可以满足更多行:

equalSize('.column:lt(3)');
equalSize('.column:gt(2)');

所以我需要这样的东西:

equalHeight($('.column:everyThree???');

2 个答案:

答案 0 :(得分:0)

<强>更新

var x = 1;
var max = $('.column').length;
var n = max % 3;

$('.column').each(function(){
    if(max!=(max-n)){
        if(x % 3 == 0){
            //your resize function
        }
        x++;
    }else{
        //do somethin about the extra elements.
    }
});

答案 1 :(得分:0)

是的,我已经有了这个工作,但是认为可能有更快的jQuery方式。如果最后有2个,我还需要考虑剩余的行:

var x = 1;
var elems = [];

$('.column').each(function(){
  elems.push($(this));

  if(x === 3){
    equalSize(elems);
    x = 1;
    elems.length = 0;
  }else{
    x++;
  }
}