2011-10-17 4 views
0

私はこのPHP-jqueryの-htmlの擬似構造を有する:テーブルタグのjQueryは使用できますか?

<table> 
<?php while ($r = mysql_fetch_array($sth)){ ?> 
    <tr> 
     <td> 
      Some HTML tag here 
     </td> 
    </tr> 
    <script type="text/javascript"> 
     // Some jQuery here 
    </script> 
<?php } ?> 
</table> 

を、私は別のページにAJAXでこれをロードします。 $sthには6行ありますが、1行しか表示されません。私が<script>セクションを削除した場合、正常に動作します。 これを行うことは許可されていますか、または構文をチェックする必要がありますか? (私は文法エラーはありませんでした!)

+1

HTML標準では、スクリプトブロックを置くのはまさに正当な場所ではありません。テーブルの中にあるものはtr/thead/tbody/tfoot/caption/colgroupでなければなりません。 –

+0

firefoxプラグインHTML Validatorを使用してください(xhtmlでも使えます)http://users.skynet.be/mgueury/mozilla/ – max4ever

+0

jQuery AJAXはJavaScriptを解析しませんので、ロジックを変更してHTMLまたは純粋なテキストを取得し、AJAXハンドラで解析します。 –

答えて

1

これは有効なHTMLマークアップではないため、レイアウトに問題が発生する可能性があります。

scriptタグは、しかし、あなたのtdタグ

<table> 
<?php while ($r = mysql_fetch_array($sth)){ ?> 
    <tr> 
     <td> 
      Some HTML tag here    
      <script type="text/javascript"> 
       // Some jQuery here 
      </script> 
     </td> 
    </tr> 
<?php } ?> 
</table> 
+0

XHTMLが使用されているという提案はありません(HTMLでも有効ではありません)。 – Quentin

+0

これに応じて編集 – Curt

+0

W3Schoolsは恐ろしいリファレンスです。 – Quentin

1

にこれを置くことができ、tableタグに直接入れ子にすることはできません我々はこれを行うには許可されているか

<script>要素が許可されていません<table>または<tbody>要素の子要素として指定します。

私の構文をチェックする必要がありますか?

常にcheck

私は、$ STHは6行を持っていることを確信しているが、それは1行のみを表示します。

PHPが出力するHTMLを見てください。 PHPを比較してレンダリングを終了させないでください。チェーンのどのポイントで出力が期待どおりと異なるかを調べ、その出力を直前のステージと比較します。

関連する問題