2014-10-10 69 views
2

需要您的幫助。正如標題所示,我正在嘗試使用PHP變量更改css類。所以基本上我想創建一個迴響一些代碼的循環。但我希望第一個循環中的div類不同 - 它應該被隱藏起來。使用php變量更改css類

下面是我爲解決問題所做的簡化代碼。我不知道錯誤在哪裏。請指教。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

<style> 
.hidden { 
    visibility:hidden; 
} 

.visible { 
    visibility:visible; 
} 

.firstclass { 
    color:red; 
} 

</style> 

</head> 

<body> 
<?php 
    $case = 4; 
    $page = ""; 
    $class = ""; 

    if ($page == 0) { 
     $class = "hidden"; 
    } 

    else { 
     $class = "visible"; 
    } 

    for ($page = 0; $page < $case; $page++) { 
     echo "<div class = &quot; firstclass $class &quot; >This is page $page <br /></div>"; 
    } 

?> 
</body> 
</html> 

回答

2

你需要把if條件的循環

<?php 
    for ($page = 0; $page < $case; $page++) { 
     if ($page == 0) $class = "hidden"; 
     else $class = "visible"; 

     echo "<div class='firstclass $class'>This is page $page <br /></div>"; 
    } 
?> 

因爲有一個條件,當$ page == 0時,它會給一個隱藏的類,所以如果你只是把它放在循環之外,那麼$ page永遠不會得到一個int值,因爲在條件的頂部有$ page =「」;

+0

嗨,這個作品,謝謝! – 2014-10-11 05:48:25

+0

歡迎您! :) – 2014-10-11 06:02:28

-1

試一下:

for ($page = 0; $page < $case; $page++) { 
echo ("<div class=\"" . $class . " firstclass\">This is page $page <br /></div>"); 
} 
1
echo "<div class=\"firstclass $class\">This is page $page <br /></div>"; 

是另一種選擇

+0

感謝您的建議! :) – 2014-10-11 05:49:13

2
for ($page = 0; $page < $case; $page++) {  
    $class = ($page == 0) ? 'hidden' : 'visible' ; 
    echo '<div class="firstclass"'. $class.'">This is page' .$page. '<br /></div>'; 

} 
+0

我現在編輯它應該工作 – 2014-10-10 16:31:44

+1

我認爲你試圖連接回聲裏面的變量,這不是一個問題。然而,你使用引號會產生一個問題 - 繼續嘗試 – 2014-10-10 16:32:24

+0

在一個引號內使用兩個引號不會成爲問題。 – 2014-10-10 16:33:25