tr不会被追加

时间:2015-03-08 19:04:30

标签: javascript jquery html

我有一个空桌子,当我按下按钮时我想用tds填充。我想在每3个tds后创建一个新的tr。 我有以下代码:

var ruler=0;
    var start=false;
    $(document).ready(function(){
        $("button").on("click",function(){
            if (start === false){$("table").append("<tr>"); start = true;}
            if(ruler === 3){
                $("table").append("</tr><tr>");
                ruler = 0;
            }
            $("table tr").append("<td>mama</td>");
            ruler++;
        });
    });

HTML

 <table>
 </table>

问题是,即使在更改行之后,它仍将在第一行继续添加tds。任何想法?

2 个答案:

答案 0 :(得分:2)

正如Teemu所述,您选择所有 <tr>。所以我添加了:last selector

&#13;
&#13;
    var ruler = 0;
    var start = false;
    $(document).ready(function() {
      $("button").on("click", function() {
        if (start === false) {
          $("table").append("<tr>");
          start = true;
        }
        if (ruler === 3) {
          $("table").append("</tr><tr>");
          ruler = 0;
        }
        $("table tr:last").append("<td>mama</td>");
        ruler++;
      });
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button>Click me</button>
<table></table>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用table tr:last作为选择器,以确保应用程序将内容附加到最后一行。