Jquery append()方法和链接顺序调试

时间:2011-05-25 01:17:27

标签: jquery

我试图用Jquery在表中插入一个新行。有人可以在两种技术之间发表评论:

  1. 这可以正常工作:

    $('<tr>').append(row).appendTo(table);
    
  2. 这不起作用,但目前尚不清楚为什么?

    $(row).appendTo($('<tr>')).appendTo(table);
    

4 个答案:

答案 0 :(得分:6)

$(row).appendTo($('<tr>').appendTo(table)); 

试试吧。看起来你只是把你的括号放错了。

答案 1 :(得分:2)

$(row).appendTo($('<tr>'))

这会向新创建的<tr>添加行。这会将row - NOT 的jQuery引用返回给新创建的<tr>

                          .appendTo(table);

row添加到table,从而将其从新创建的<tr>中删除。

试试这个。它直接得到参考。

$('<tr>').append(row).appendTo(table);

答案 2 :(得分:1)

您的范围已关闭。 appendTo不会改变链的范围。你正在追加一行动态tr,然后立即将它附加到表格中。


Snowblind的解决方案将起作用,这将有效:$ (table).append($(row).wrap('<tr></tr>'));

可能有很多其他的推导。请确保您从中获得一些链式理解。 :)

答案 3 :(得分:1)

在你的第二个例子......

$(row).appendTo($('<tr>')).appendTo(table);

第二次拨打appendTo()时的设置不符合您的想法。它将是row

jsFiddle应该更清楚。