2012-06-07 141 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