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変数を保持する方法でそれを望んでいます。

4

3 に答える 3

1

表を生成するときにセルに使用するスタイル設定がわからない場合は、おそらく出力バッファリングを使用して、ページ生成を変更することをお勧めします (不器用な解決策)。それができない場合は、たとえば<td class=foo>マークアップで生成し、後でセルに設定したものがわかったら、次のような HTML 要素を生成できます。

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

style要素は要素の内部にあるため、これは HTML 構文規則に違反しますbodyが、実際にはブラウザーで機能します。このような要素の設定は、ドキュメントに影響を与え、その前の要素にも影響を与えます。

しかし、これはもちろん、まともな解決策が適用できない状況では、醜い回避策にすぎません。

于 2012-06-07T09:56:45.370 に答える
1

これを実現するには、クライアント側でjqueryORを使用します。Javascript

ターゲットの ID またはクラス属性を設定しtd、次のような jquery を適用します

html:

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

jquery:

$(document.ready(function(){
$("#mytd").css("color","red");
});
于 2012-06-07T09:35:49.087 に答える
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> ';
于 2012-06-07T09:48:47.530 に答える