2011-10-17 43 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驗證器(適用於xhtml)http://users.skynet.be/mgueury/mozilla/ – max4ever

+0

jQuery AJAX不會解析JavaScript - 所以您必須更改邏輯並將數據作爲HTML發送或純文本並將其解析到AJAX處理程序中。 –

回答

1

這不是有效的HTML標記,因此可能會導致佈局問題。

script標籤不能直接套入table標籤,但是你可以把你的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

我們現在可以做到這一點還是

<script>元素不允許作爲<table><tbody>元素的子元素。

我應該檢查一下我的語法嗎?

始終check

我敢肯定,而$ sth有6行,但只顯示1行。

看看PHP輸出的HTML。不要比較PHP和結束渲染。研究產出鏈中哪一點產出與期望值不同,然後將該產出與緊接着的產出進行比較。

相關問題