2013-10-31 12 views
2

爲什麼第3行之後的插入操作不起作用?
我應該使用其他方法嗎?jQuery在表格的中部添加一行

<html> 
<head> 
    <title>Table Add Row</title> 

<script type="text/javascript" src="../jquery.js"></script> 
<script language="JavaScript"> 

    $("document").ready(function() { 
     //alert("document ready"); 

     $("#EditComp tr:first").after('<tr><td>This row added after first</td></tr>'); 
     $("#EditComp tr:last").after('<tr><td>This row added after last</td></tr>'); 

     $('#EdRow3 tr').after('<tr><td>This row added after 3</td></tr>'); 

    }); 
</script> 
</head> 
<body> 
    <table id="EditComp"> 
     <tbody> 
      <tr id="EdRow1"><td>Row 1</td></tr> 
      <tr id="EdRow2"><td>Row 2</td></tr> 
      <tr id="EdRow3"><td>Row 3</td></tr> 
      <tr id="EdRow4"><td>Row 4</td></tr> 
      <tr id="EdRow5"><td>Row 5</td></tr> 
     </tbody> 
    </table> 
</body> 
</html> 

爲什麼插入第3行之後不工作?
我應該使用其他方法嗎?

回答

1

$('#EdRow3 tr')應該是$('#EdRow3')

您的選擇tr s是#EdRow3的後代。

$('tr#EdRow3')也可以工作,但具有tr沒有必要,因爲元素id是唯一的。

0

更改此

$('#EdRow3 tr').after('<tr><td>This row added after 3</td></tr>'); 

這個

$('tr#EdRow3').after('<tr><td>This row added after 3</td></tr>'); 
0

Fiddle.

你的選擇是不正確的。

$('#EdRow3').after('<tr><td>This row added after 3</td></tr>'); 
2

只需在您的javascript代碼中刪除#EdRow3後的tr即可。 檢查follwing代碼..

<html> 
<head> 
    <title>Table Add Row</title> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script language="JavaScript"> 

    $("document").ready(function() { 
     //alert("document ready"); 

     $("#EditComp tr:first").after('<tr><td>This row added after first</td></tr>'); 
     $("#EditComp tr:last").after('<tr><td>This row added after last</td></tr>'); 

     $('#EdRow3').after('<tr><td>This row added after 3</td></tr>'); 

    }); 
</script> 
</head> 
<body> 
    <table id="EditComp"> 
     <tbody> 
      <tr id="EdRow1"><td>Row 1</td></tr> 
      <tr id="EdRow2"><td>Row 2</td></tr> 
      <tr id="EdRow3"><td>Row 3</td></tr> 
      <tr id="EdRow4"><td>Row 4</td></tr> 
      <tr id="EdRow5"><td>Row 5</td></tr> 
     </tbody> 
    </table> 
</body> 
</html>