2010-11-18 12 views
0

とXHTML文書でテーブルの行を追加するため、私は、SVGを含める必要性にXHTMLへのHTMLからWebサイトを渡す必要があります。は、jQueryの1.4.4とFirefox

この変更以来、私は、テーブル内の行を追加することはできません。

環境:放火魔とのFirefox 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

あなた 'A'タグは、関連するクラスを持っていません。これが問題だろうか? – lonesomeday

+0

あなたの権利、私はサンプルを修正します。問題はまだここにある – mruellan

+1

は、すべてのブラウザで私にとって完璧に動作します。確認できるようにテストページを設定できますか? – tbleckert

答えて

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

それは動作しています!ありがとう! embeded java scriptはxhtmlで禁止されていますか?それは私にとって悪いニュースです... – mruellan

+0

それは禁止されていませんが、FFとFirebugを使用するとエラーが表示されます。 Firebugの 'network'にある質問のコードを、.xhtmlの近くの(+)に、その後xmlタブを起動してください。あなたは、XMLパーサーがjsを動作させないjavascriptの中にあるものを解析しようとします。そのため、埋め込まれたjsにxhtmlコードを追加すると、純粋なxhtmlでは 'append'が動作しないと結論づけることができます。外部JSはxhtmlパーサーによって解析されないので、動作しています;) – Shikiryu

+0

@mruellan:_xhtml_または_html_コードが含まれていない埋め込まれたjを持つ他のページがある場合はそれを使用できます。ファイル。 – Shikiryu

関連する問題