2010-11-18 13 views
0

我必須將網站從html傳遞到xhtml,因爲需要包含svg。使用jQuery 1.4.4和Firefox在xhtml文檔中添加表中的行

由於此更改,我無法在表中添加行。

環境:火狐3.6.12與螢火蟲和jQuery 1.4.4

單元測試:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("a.addrowb").click(function(){ 
$("table tbody").append("<tr><td>new row on bottom</td><td></td></tr>"); 
return false; 
}) 
$("a.addrowt").click(function(){ 
$("table tbody").prepend("<tr><td>new row on top</td><td></td></tr>"); 
return false; 
}) 
}) 
</script> 
<title>Untitled Document</title> 
</head> 

<body> 
<a class="addrowb" href="#">Add row In the bottom</a> <a class="addrowt" href="#">Add row In the Top</a> 
<table border="1"> 
<tbody> 
<tr> 
<td>Text 1</td><td>text 2</td> 
</tr> 
</tbody> 
</table> 
</body> 
</html> 
+1

你'了'標籤不具備相關的類。這可能是問題嗎? – lonesomeday 2010-11-18 08:17:35

+0

你的權利,我修好了樣品。但問題仍然在這裏 – mruellan 2010-11-18 08:22:32

+1

適用於所有瀏覽器,我可以設置一個測試頁,以便我可以檢查嗎? – tbleckert 2010-11-18 08:36:13

回答

2

您需要外部化您的自定義JS。

例如,創建你有你的.xhtml文件同一文件夾中main.js,把你的自定義代碼在它:

$(document).ready(function(){ 
$("a.addrowb").click(function(){ 
$("table tbody").append("<tr><td>new row on bottom</td><td></td></tr>"); 
return false; 
}) 
$("a.addrowt").click(function(){ 
$("table tbody").prepend("<tr><td>new row on top</td><td></td></tr>"); 
return false; 
}) 
}) 

然後,在你的XHTML,而不是

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("a.addrowb").click(function() { 
      $("table tbody").append("<tr><td>new row on bottom</td><td></td></tr>"); 
      return false; 
     }) 
     $("a.addrowt").click(function() { 
      $("table tbody").prepend("<tr><td>new row on top</td><td></td></tr>"); 
      return false; 
     }) 
    }) 
</script> 

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="main.js"></script> 
+0

它正在工作!謝謝! 嵌入java腳本禁止使用xhtml?這對我來說是個壞消息... – mruellan 2010-11-18 09:53:06

+0

這不是被禁止的,但如果你使用FF和Firebug,你可以看到錯誤。啓動你的問題的代碼,在螢火蟲去'網絡',(+)附近你的.xhtml,然後XML文件選項卡。你會發現,xml解析器會嘗試解析JavaScript中的內容,這使得js無法正常工作。因此,如果您在嵌入式js中添加xhtml代碼,您可以得出結論:'append'在純xhtml中不起作用。外部JS不會被xhtml解析器解析,因此它可以工作;) – Shikiryu 2010-11-18 09:58:06

+0

@mruellan:如果您有其他嵌入式js沒有_xhtml_或_html_代碼的頁面,您可以使用它,否則使用外部文件。 – Shikiryu 2010-11-18 10:00:17

相關問題