2013-07-21 37 views
0

我在我的網站的一個部分列出了最新的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> 
+0

你也可以使用css來使用例如':last-child'(IE9 +)。 – jeroen

+0

但這不會適用於所有瀏覽器的權利? – Efe

+0

@Efe http://caniuse.com/#search=last-child – PeeHaa

回答

0

你不需要一個類,你可以做類似選擇CSS的最後一個元素:

ul li:last-child

2

如果你真的想使用PHP,你可以檢查,看看是否計數()符合當前$計數。

$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>'; 
相關問題