2013-12-20 122 views
1

我有這個頁面文本可能會更改,並且每個部分都有它的顏色。 我本來可以用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; 
} 

所以輸出應該是AA藍 「client」 或黃色 「designer」 或紅「developer」或黃色「designer」和黑色「&」和黃色「designer」,取決於k

+1

什麼是你所面臨的問題? –

+0

@RajaprabhuAravindasamy我不能說這是一個問題。好吧,我想知道是否有另一種方法來做到這一點,一個實用的方法或什麼。因爲我所做的似乎不對.. –

+0

@MoheTheDreamy但你的動態文本是如何創建的? – DaniP

回答

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>"; 
} 
+0

我明白了......儘管它沒有回答我的疑惑,但這是一個很好的做法。謝謝。 –

4

類用引號引起來。

嘗試:

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

沒有引號的類,這是工作。? http://jsfiddle.net/rmJ7C/我誤解了任何東西。 –

+0

類正常工作,並且顏色改變。 –

+0

在html5中沒有必要引用arround屬性http://webdesign.about。com/od/html5tags/f/quotes-required-html-5-attributes.htm @RajaprabhuAravindasamy – DaniP