2012-06-07 91 views
0

我使用下面的PHP代碼打印表格後,如何更改表格屬性:打印出來

echo '<table> '; 

echo '<tr>'; 

echo '<td> Cell 1'; 
echo '</td>'; 

echo '<td '.$myStyle.'> Cell 2'; 
echo '</td>'; 


echo '</tr>'; 

echo '</table> '; 

$myStyle = 'style="color:red"'; 

我的問題是「$ myStyle的」單元格屬性沒有給予細胞,除非如果是放在它之前。在設置$ myStyle之後,有沒有辦法刷新表格,以便獲取新屬性?我希望它能保持我的「$ myStyle」變量。 THanks

+1

這是可能的使用輸出緩衝或JavaScript,但不能改變你的腳本的邏輯先定義'$ myStyle'?這將是最乾淨的方式。 –

+0

你爲什麼要這麼做?你爲什麼不把$ myStyle放在echo'

'之上; – libjup

+0

@Pekka是的我知道這是一個解決方案,但我不能這樣做,因爲有關進一步編碼的原因 – Haz

回答

1

在客戶端使用jqueryJavascript來完成此操作。

設定的目標td的ID或類屬性然後採用下列的jQuery像

HTML:

echo '<td id="mytd"> Cell 2 </td>'; 

的jQuery:

$(document.ready(function(){ 
$("#mytd").css("color","red"); 
}); 
+0

你可以舉一個小例子 – Haz

+0

代碼編輯順序 – Rab

0

使用error_reporting(E_ALL),你會看到

Notice: Undefined variable: myStyle in/ss.php on line 10 
Cell 1 Cell 2 

把這個變量的腳本的頂部

<?php 
error_reporting(E_ALL); 

$myStyle = 'style="color:red"'; 

echo '<table> '; 

echo '<tr>'; 

echo '<td> Cell 1'; 
echo '</td>'; 

echo '<td '.$myStyle.'> Cell 2'; 
echo '</td>'; 


echo '</tr>'; 

echo '</table> '; 
1

如果你不知道生成表時使用的電池,其樣式設置,那麼這將是最好的修改頁面生成,可能使用輸出緩衝(一種笨拙的解決方案)。如果做不到這一點,你可以只生成,也就是說,在標記<td class=foo>,後來,當你知道你的小區集中,產生像

<style> 
.foo { color: red; } 
</style> 

這違反HTML語法規則的HTML元素,爲style元素將位於body元素內,但它實際上在瀏覽器中工作 - 即使在元素之前的元素中,此類元素中的設置也會影響文檔。

但是,這當然只是一個醜陋的解決方法,適用於不適用體面的解決方案的情況。

+0

+1爲最醜陋的解決方法。 – pixelistik