我希望能够使用jQuery获取左列之后发生的右列数量。
例如:在以下结构中,结果应为
1st leftColumn = 3; 2nd leftColumn = 1等等......
<div class="panel leftColumn"></div>
<div class="panel rightColumn"></div>
<div class="panel rightColumn"></div>
<div class="panel rightColumn"></div>
<div class="panel leftColumn"></div>
<div class="panel rightColumn"></div>
注意:我的jQuery会找出div所属的列,并根据需要添加类名,因此如果解决方案适合我的代码,那就太棒了
var dataHolder = $j("div.panel").first().offset().left;
if($j(this).offset().left == dataHolder){
$j(this).addClass("leftColumn");
}
else{
$j(this).addClass("rightColumn");
}
答案 0 :(得分:1)
试试这个:
$('.leftColumn').each(function (i) {
console.log('leftColumn ' + (i + 1) + ': ' +
$(this).nextUntil('.leftColumn', '.rightColumn').length);
});
以下是 jsfiddle.net ,显示了它的实际效果。
答案 1 :(得分:1)
var a = $(".leftColumn").map(function() {
return $(this).nextUntil(".leftColumn").length;
}).toArray();
返回一个数组[3,1]
,表示第一个为3,第二个为1,依旧等等。