0
element.appendTo('<td>').appendTo('<tr>').appendTo('#ordersList')

这是否应该将元素放在新的 td 元素中,在 #ordersList 元素(是表)内的新 tr 元素中?

因为我只是在#ordersList 中获取了没有包装tr/td 的裸元素。

我试图排除故障的这个旧站点似乎正在使用 jQuery 1.4.1——以防这是一个已知的错误。

4

2 回答 2

3

appendTo()返回您正在操作的元素,因此实际上在做的是;

  1. 将您的元素添加到新创建的td.
  2. 从 中分离元素td并将其添加到新创建的tr.
  3. 将其tr#ordersList

什么会起作用,就像这样;

$('<td></td>').appendTo($('<tr></tr>')​​​​​​​​​.appendTo('#ordersList')).append(element);

...这很不利于可读性。

于 2012-04-20T16:38:36.303 回答
1

您始终可以将本机 API 用于此类简单的事情,尽管减少代码的助手很好......

function create(type) { return document.createElement(type); }
function byId(id) { return document.getElementById(id); }

byId('ordersList')
    .appendChild(create('tr'))
    .appendChild(create('td'))
    .appendChild(element);

本机.appendChild()返回附加的元素,因此您可以链接调用嵌套元素。

于 2012-04-20T16:45:37.310 回答