【问题标题】:jQuery: how to select every cell in a table except the last in each row?jQuery:如何选择表格中的每个单元格,除了每行的最后一个单元格?
【发布时间】:2009-01-23 06:12:34
【问题描述】:

我想要每行中的每个单元格,除了每行中的最后一个单元格。我试过了:

$("table tr td:not(:last)")

但这似乎给了我除了表格中的最后一个单元格之外的每个单元格。不是我想要的。

我确信这很简单,但我仍然在纠结选择器。

【问题讨论】:

  • 您确定不应该改用<tfoot> 吗?然后只匹配 tbody-rows。

标签: javascript jquery


【解决方案1】:

试试:

$('table tr td:not(:last-child)')

【讨论】:

  • 来自文档:虽然 :last 仅匹配一个元素,但匹配多个元素:每个父元素一个。
  • 按时间顺序排列的获胜者... :)
【解决方案2】:

你可以试试

$("table td:not(:last-child)")

$("table td:not(:nth-child(n))")

其中 n 是子元素的从 1 开始的索引

$("table td").not(":last-child")

【讨论】:

    【解决方案3】:

    试试最后一个子选择器。这个:

    $("table tr td:not(:last-child)")
    

    将选择所有行中的所有单元格,最后一列中的单元格除外。

    【讨论】:

    • tr 是不必要的,因为默认情况下 jquery 不查找直接后代 - 要仅获取直接后代,您需要使用 > "operator"
    【解决方案4】:

    fwiw 我发现你的原创作品还不错(也许是自 2009 年以来对 main jQ 的增强?)...

    $("#myTable thead th:not(:last)").css("border-right","1px solid white");
    

    我的表格的标题行具有海军背景,因此右侧的白色边框使表格看起来像锯齿状,并且与数据的黑色 1px 边框不匹配

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      相关资源
      最近更新 更多