2012-02-07 56 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>";