Самый чистый способ выбрать Каждый второй элемент в цикле?


Какой самый быстрый и простой способ выбрать каждый второй элемент в цикле?

В данный момент я использую этот странный метод:

<ul>
<?php $k = 1; ?>
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <li class="<?php if($k%2 == 0) echo 'last'; ?>"><?php the_content(); ?></li>
<?php $k++; ?>
<?php endwhile; ?>
<?php endif; ?>
</ul>

Не могу использовать n-й дочерний элемент, так как IE его не поддерживает, а CSS3 PIE в данный момент плохо работает с моим сайтом.

 5
Author: realph, 2012-04-02

1 answers

Я бы не счел это странным:). WordPress использует аналогичный метод для применения класса "альтернативный" ко всем остальным строкам в таблицах на странице администратора, что-то вроде:

<ul>
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
     <?php $class = (empty($class) ? 'class="alternate"' : '');?>
     <li <?php echo $class; ?> ><?php the_content(); ?></li>
  <?php endwhile; ?>
  <?php endif; ?>
</ul>
 6
Author: Stephen Harris, 2012-04-02 22:44:39