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

发布于 2024-11-09 05:51:18 字数 239 浏览 0 评论 0原文

我正在尝试使用 Jquery 将新行插入到表中。有人可以评论这两种技术吗:

  1. 这工作正常:

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

    $(row).appendTo($('')).appendTo(table);
    

I am attempting to insert a new row into a table with Jquery. Can someone comment between the two techniques:

  1. This works correctly:

    $('<tr>').append(row).appendTo(table);
    
  2. This does not work, but it is not clear why?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夜司空 2024-11-16 05:51:19

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

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

你第二次调用 appendTo() 时的集合并不是你想象的那样。它将是

这个 jsFiddle 应该会更清楚。

In your second example...

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

The set when you call appendTo() the second time is not what you think it is. It will be row.

This jsFiddle should make it clearer.

灼痛 2024-11-16 05:51:18
$(row).appendTo($('<tr>').appendTo(table)); 

尝试一下。看来您刚刚将括号的顺序弄错了。

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

Try that. It looks like you just placed your parentheses in the wrong order.

π浅易 2024-11-16 05:51:18
$(row).appendTo($('<tr>'))

这会将行添加到新创建的 中。这将返回对 row 的 jQuery 引用 - NOT 到新创建的

                          .appendTo(table);

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

试试这个吧。它可以直接获取参考文献。

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

This adds row to a newly created <tr>. This returns a jQuery reference to row - NOT to the newly created <tr>

                          .appendTo(table);

Adds row to table, thus removing it from the newly created <tr>.

Try this instead. It gets the references straight.

$('<tr>').append(row).appendTo(table);
盗梦空间 2024-11-16 05:51:18

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


Snowblind 的解决方案将起作用,这将起作用: $(table).append($(row).wrap(''));

可能有一堆其他推导。只要确保您从中获得了一些链条理解即可。 :)

Your scope is off. appendTo will not change the scope of the chain. You're appending row a dynamic tr, then immediately appending it to the table.


Snowblind's solution will work, this will work: $(table).append($(row).wrap('<tr></tr>'));

There are probably a bunch of other derivations. Just make sure you take a bit of chain understanding from this. : )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文