jQuery - 使所有表格单元格可拖动,除了每行中的第一个单元格

发布于 2024-10-11 02:06:07 字数 459 浏览 5 评论 0原文

我不知道如何使表格中的所有单元格可拖动,除了每行中的第一个单元格。我认为这可能有效:

$("#tableid tbody tr td:not(:first)").draggable({
    connectToSortable: "#sortable",
    helper: "clone",
    revert: "invalid"
});

或者这样:

$("#tableid tbody tr td").not("#tableid tbody tr td:first").draggable({
    connectToSortable: "#sortable",
    helper: "clone",
    revert: "invalid"
});

但这两者都只是阻止第一行的第一个单元格可拖动。不是每一行...

有什么想法吗?

I cannot figure out how to make all cells in a table draggable, except the first cell in each row. I thought this might work:

$("#tableid tbody tr td:not(:first)").draggable({
    connectToSortable: "#sortable",
    helper: "clone",
    revert: "invalid"
});

Or this:

$("#tableid tbody tr td").not("#tableid tbody tr td:first").draggable({
    connectToSortable: "#sortable",
    helper: "clone",
    revert: "invalid"
});

But both just stops the first cell of the first row being draggable. Not every row...

Any ideas?

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

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

发布评论

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

评论(2

深爱成瘾 2024-10-18 02:06:07

要选择除每行第一个 td 之外的所有内容,您需要:

$('#tableid tbody tr').find('td:gt(0)')

在此处进行测试:http://jsfiddle.net/KsUCj/

通过调用 :first 您将找到整个集合中的第一个元素。

另外,如果您将每行中的第一个单元格视为特殊的,那么听起来您可能实际上需要这个标记:

<table><thead><tr>
  <th></th>
  <th scope="col">Column Head 1</th>
  <th scope="col">Column Head 2</th>
</tr></thead><tbody><tr>
  <th scope="row">Row Head</th>
  <td>Row Cell 1</td>
  <td>Row Cell 2</td>
</tr><tr>
  <th scope="row">Row Head</th>
  <td>Row Cell 1</td>
  <td>Row Cell 2</td>
</tr></tbody></table>

这不仅更具语义性,而且为您的行头的 CSS 样式提供了更好的挂钩,而且您会还没有遇到这个问题,因为 tbody tr td 已经选择了除第一列之外的所有列。

To select all but the first td per row, you want:

$('#tableid tbody tr').find('td:gt(0)')

Test it out here: http://jsfiddle.net/KsUCj/

By calling :first you are finding the first element in the entire set.

Also, if you are treating the first cell in each row as special, it sounds like you might actually want this markup instead:

<table><thead><tr>
  <th></th>
  <th scope="col">Column Head 1</th>
  <th scope="col">Column Head 2</th>
</tr></thead><tbody><tr>
  <th scope="row">Row Head</th>
  <td>Row Cell 1</td>
  <td>Row Cell 2</td>
</tr><tr>
  <th scope="row">Row Head</th>
  <td>Row Cell 1</td>
  <td>Row Cell 2</td>
</tr></tbody></table>

Not only is this more semantic, and provides you better hooks for your CSS styling of the row heads, but you would not have run into this problem as tbody tr td would select all but the first column already.

似最初 2024-10-18 02:06:07

难道不应该是“tr:first td”而不是“tr td:first”吗?

Shouldn't that be 'tr:first td' as opposed to 'tr td:first'?

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