将类添加到最后列出的项目

时间:2013-07-21 15:12:19

标签: php drupal

我在我网站的一个部分列出了最新的5个活动。每次列出一个项目时,它底部都有一个分隔符。我想将last添加到最后<li>,以便分隔符在最后一项上消失。

所以我将<li class="clearfix">更改为<li class="clearfix last">。我该怎么办?

仅供参考,<?php $iCounterLi++; ($iCounterLi==5)? 'last':''; ?>不会工作,因为我可能不时会有不到5个即将发生的事件。

谢谢!

<?php
  $get_latest_events = get_latest_events(5);
  if(count($get_latest_events) > 0) {
    foreach($get_latest_events as $eventdata) {
      $entity_data = node_load($eventdata->entity_id);
      $event_start_date = check_isset_start_date($entity_data,'event_calendar_date','und');
      if($event_start_date !='') {
        $explode_event_date = explode(" ",$event_start_date);
        $explode_event_day = strtotime($explode_event_date[0]);
        $explode_event_time = $explode_event_date[1];
        $event_start_day1 = strftime("%B",$explode_event_day);
        $event_start_day2 = strftime("%d",$explode_event_day);
      }
      $location = check_isset($entity_data,'field_location','und');
    ?>
    <li class="clearfix"></li>

2 个答案:

答案 0 :(得分:2)

如果你真的想使用PHP,你可以查看count()是否与当前$ count匹配。

$arr = array("bob","henry","sam");

$arrCount = count($arr);  // 3

$count = 0;

echo '<ul>';

foreach($arr AS $k => $v){

   $count++;

   if($count == $arrCount)
      echo '<li class="last">';
   else
      echo '<li>';

   echo $v;

   echo '</li>';
}

echo '</ul>';

或者,您可以使用end()将数组的内部指针设置为最终元素,然后在循环时查找它。

$arr = array("bob","henry","sam");

$arrEnd = end($arr);  // "sam"


echo '<ul>';

foreach($arr AS $k => $v){

   if($v == $arrEnd)
      echo '<li class="last">';
   else
      echo '<li>';

   echo $v;

   echo '</li>';
}

echo '</ul>';

答案 1 :(得分:0)

你不需要上课;您可以通过执行以下操作来选择CSS中的最后一个元素:

ul li:last-child