jQuery - 无法在表中追加一行

时间:2014-12-30 17:31:36

标签: jquery

我的HTML就像这样 -

<table id="#test_table">
<tr><td>test</td><td>test</td></tr>
<tr><td>test</td><td>test</td></tr>
</table>

我的script.js就像这样 -

$(function() {
    $("#test_table").append('<tr><td>column 1 value</td><td>column 2 value</td></tr>');
});

但是我仍然只看到两行而且无法看到我从jQuery追加的第三行。也尝试过以后。我使用的是Chrome,当我检查元素时也没有任何东西。请帮忙

2 个答案:

答案 0 :(得分:2)

两件事:

  1. id属性应该只包含id#是一个CSS事物,意思是&#34;我是id选择器&#34;并且id 跟随; #的{​​{1}}不是部分

  2. id总是有一个tables,即使您没有在HTML中写一个。出于这个原因,我总是写它们,然后将行追加到tbody,而不是tbody

  3. 那就是说,#2:至少在目前的Chrome版本中,Chrome只是为您处理,因此现代浏览器可能不会出现问题:

    &#13;
    &#13;
    table
    &#13;
    $(function() {
        $("#test_table").append('<tr><td>column 1 value</td><td>column 2 value</td></tr>');
    });
    &#13;
    &#13;
    &#13;

    尽管如此,我更喜欢清晰度,而不是依赖于浏览器编写者的善意:

    &#13;
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <table id="test_table">
    <tr><td>test</td><td>test</td></tr>
    <tr><td>test</td><td>test</td></tr>
    </table>
    &#13;
    $(function() {
        $("#test_table tbody").append('<tr><td>column 1 value</td><td>column 2 value</td></tr>');
    });
    &#13;
    &#13;
    &#13;

答案 1 :(得分:0)

从HTML中删除ID中的哈希值。

<table id="test_table">
<tr><td>test</td><td>test</td></tr>
<tr><td>test</td><td>test</td></tr>
</table>

$(function() {
    $("#test_table").append('<tr><td>column 1 value</td><td>column 2 value</td></tr>');
});

jsFiddle