如何使用jQuery将行添加到表中?

嗨我试图添加一行使用jQuery的表,但它不工作。
可能是什么原因?

而且,我可以为新添加的行赋予一些价值吗?

代码如下:

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $('a').click(function() {
            $('#myTable').childs('tr').append('<tr class="child"><td>blahblah</td></tr>');
        });
    </script>
    <title></title>
</head>
<body>
    <a href="">Link</a>
    <table id="myTable">
        <tbody>
            <tr>
                <td>
                    test
                </td>
            </tr>
        </tbody>
    </table>
</body>
</html>

我假设你想将这一行添加到<tbody>元素,并且简单地在<table>上使用append()会将<tr>插入<tbody> ,这可能会导致不良结果。

$('a').click(function() {
   $('#myTable tbody').append('<tr class="child"><td>blahblah</td></tr>');
});

编辑:这是完整的源代码,它确实工作:(注意$(document).ready(function(){});它以前不存在。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('a').click(function() {
       $('#myTable tbody').append('<tr class="child"><td>blahblah</td></tr>');
    });
});
</script>
<title></title>
</head>
<body>
<a href="javascript:void(0);">Link</a>
<table id="myTable">
  <tbody>
    <tr>
      <td>test</td>
    </tr>
  </tbody>
</table>
</body>
</html>

以下代码有效

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function AddRow()
{
    $('#myTable').append('<tr><td>test 2</td></tr>')
}
</script>
<title></title>
</head>
<body>
<input type="button" id="btnAdd" onclick="AddRow()"/>
<a href="">test</a>
<table id="myTable">
  <tbody >
    <tr>
      <td>
        test
      </td>
    </tr>
  </tbody>
</table>
</body>
</html>

注意,即使表包含一个<tbody>元素,它也可以用于jQuery 1.4:

从版本1.4(?)开始,jQuery自动检测您尝试插入的元素(使用append(),prepend(),before()或after()方法中的任何一个)是否为<tr> ,并将其插入到在你的表中第一个<tbody>或者将它包装成一个新的<tbody>如果它不存在的话。


也许这是你正在寻找的答案。 它找到<tr />的最后一个实例并在它之后追加新行:

<script type="text/javascript">
    $('a').click(function() {
        $('#myTable tr:last').after('<tr class="child"><td>blahblah</td></tr>');
    });
</script>
链接地址: http://www.djcxy.com/p/22975.html

上一篇: How do you append rows to a table using jQuery?

下一篇: Jquery insert new row into table at a certain index