我有一个这样的列表:
<div id="post-1" class="post"></div>
<div id="post-2" class="post"></div>
<div id="post-3" class="post"></div>
<div id="post-4" class="post"></div>
<div id="post-5" class="post"></div>我想选择#post-1和#post-2,然后做一些事情。然后选择#post-3和#post-4并做一些事情,然后抓取最后一个并做一些事情。这将超过许多div,所以我需要它是某种类型的循环。
伪代码是这样的:
var maxHeight = 0;
jQuery('.post-block:two-at-time').each(function(){
var height = jQuery(this).height();
if( height > maxHeight) {
maxHeight = height;
}
});
jQuery('.post-block:two-at-time').height(maxHeight);你有什么好的建议吗?谢谢!
发布于 2013-02-07 08:47:13
这也会将.post元素一分为二,查找具有正确maxHeight的元素,然后将所有元素的高度设置为maxHeight。
var count = maxHeight = 0;
$('.post').each(function ()
{
if (count % 2 == 0)
{
var even = $(this).height(); odd = $(this).next('div').height();
if(even > maxHeight || odd > maxHeight)
(even >= odd) ? maxHeight = even : maxHeight = odd;
}
count++;
}).css('height', maxHeight);发布于 2013-02-07 08:19:42
var $post = $('.post'),
$even = $post.filter(':even'),
$odd = $post.filter(':odd')
for (var i = 0; i < $even.length; i++) {
var $a = $even.eq(i).add( $odd.eq(i) );
// ... ?
}http://jsfiddle.net/E3kbP/
发布于 2013-02-07 08:11:52
这可能不是最干净的方式,但是您可以使用一个普通的for循环来迭代您的最小值/最大值,然后使用.slice
for (var start = 0, end = 2; start < $(".post").length; start += 2, end += 2) {
jQuery('.post').slice(start, end).each(function () {http://jsfiddle.net/ExplosionPIlls/EJY5W/
https://stackoverflow.com/questions/14741285
复制相似问题