2012-02-07 31 views
3

我想已經設置爲根據,我將在顯示變量的值,我li元素的位置。由於某種原因,這似乎不起作用。有沒有人看到我的代碼有什麼問題?由於CSS樣式if/else語句沒有響應

echo "<li class=\"compensation_post posts_values\" if($compensation == \"Free\") {style=\"left: 540px;\"}>$compensation</li>"; 

回答

3

PHP可以解析在雙引號字符串變量,而不是條件。所以,你會需要打破這一出一兩種方式:

分居:

$style = ''; 
if ($compensation == "Free") 
    $style = " style=\"left:540px;\""; 
echo "<li class=\"compensation_post posts_values\"$style>$compensation</li>"; 

或在線:

echo "<li class=\"compensation_post posts_values\" " 
    . ($compensation == "Free" ? "style=\"left:540px;" : "") 
    . ">$compensation</li>"; 

我想你也可以去,出來的PHP代碼,如:

?><li class=\"compensation_post posts_values\" <?= ($compensation == "Free" ? "style=\"left:540px;\"" : ""); ?>>$compensation</li> 
+0

十分感謝了很多! – noWayhome 2012-02-07 19:16:09

0

不能使用if語句這樣。相反,如果你可以使用速記。像這樣的東西應該工作:

echo "<li class=\"compensation_post posts_values\"" . (($compensation == 'Free') ? 'style=\"left: 540px;\" : '') . ">$compensation</li>";

或者,你可以這樣做:

if ($compensation == 'Free')
$style = 'style="left: 540px;"';
echo "<li class=\"compensation_post posts_values\" $style>$compensation</li>";