改变动态文本的样式

时间:2013-12-20 18:03:02

标签: javascript php jquery html css

我有一个文本可能会改变的页面,每个部分都有它的颜色。 我可以用PHP完成它,但它看起来有点不实用。 我试着阅读一些javascript和jquery,认为他们会有所帮助,但没有。

那么,有没有一种实用的方法呢?

这是我的代码:

的index.php

 <?php  
      $k=1;

      if($k==0){ 
          echo"<h class=client> Client </h>";
      }
      else if($k==1){
        echo
      "<h class=designer> Designer</h>" ;     
      } 
      else if($k==2){
       echo
      "<h class=developer> Developer</h>";
      }    
      else if($k==3){
                echo 
        "<h class=designer> Designer</h> & <h class=developer> Developer</h>";     
        }

    ?> 

stylesheet.css中:

.client {
  color: blue;
}
.designer {
  color: yellow;
}
.developer {
  color: red;
}

因此输出应为蓝色“client”或黄色“designer”或红色“developer”,或黄色“designer”和黑色“ &“和黄色”designer“,具体取决于k

2 个答案:

答案 0 :(得分:4)

类用引号写。

尝试:

<h class='developer'> Developer</h>

答案 1 :(得分:0)

使用javascript是过度的,你可能只是坚持只有php的解决方案。

正如我在评论中提到的那样,您可以更改数据库设计,以使其与您的应用程序相称。

如果不详细了解程序的运行情况,很难说最好的方法 - 但正如我所提到的,作为一个例子,你可以为$ k存储更多的语义值(即“客户”或“设计师”)或“设计师,开发人员”),或者你可以为每个“标题”设置4种不同的布尔值 - 但最好的方法实际上取决于你需要如何在整个应用程序中与这些信息进行交互。

第一个建议的快速实施可能如下所示:

// $k = "designer,developer";

if (strpos($k, ',') !== FALSE){
   $titles = explode(",",$k);
   $output = "";
   foreach($titles as $title){
      $output .= "<h class='". $title ."'>". ucfirst($title) ."</h> &amp; ";
   }
   echo rtrim($output, ' &amp; ');
} else {
echo "<h class='". $k ."'>". ucfirst($k) ."</h>";
}