我试图用Jquery在表中插入一个新行。有人可以在两种技术之间发表评论:
这可以正常工作:
$('<tr>').append(row).appendTo(table);
这不起作用,但目前尚不清楚为什么?
$(row).appendTo($('<tr>')).appendTo(table);
答案 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应该更清楚。