如何选择表中所有行的最后一列

jQuery - How to select last column of all rows in a table?

本文关键字:最后 一列 何选择 选择      更新时间:2023-09-26

假设我有一个HTML表,如下所示(带有适当的tr, td标记):

a1 | b1 | c1
a2 | b2 | c2
a3 | b3 | c3
a4 | b4 | c4
<table border="1">
<tr>
    <td>a1</td>
    <td>b1</td>
    <td>c1</td>
</tr>
<tr>
    <td>a2</td>
    <td>b2</td>
    <td>c2</td>
</tr>
<tr>
    <td>a3</td>
    <td>b3</td>
    <td>c3</td>
</tr>
<tr>
    <td>a4</td>
    <td>b4</td>
    <td>c4</td>
</tr>
</table>

我试图选择所有的c*行来执行对它们的操作。

使用$('td:last')选择器只选择最后一个td标记,即c4。

我试过$('tr > td:last')没有工作。这里正确的选择器是什么?

:last是一个jQuery选择器,但它只会选择最后一个元素的类型。你最有可能寻找的是:last-child

同样,td:first-child将获得第一个单元格,而:first将获得该类型的第一个元素。

这里有一个小提琴给你看所有的四个例子。

如前所述,要选择其父tr的最后一个子td,请使用:last-child代替:

$('td:last-child')

:last选择器不工作的原因是因为它实际上给了你DOM中的最后一个元素,它匹配选择器中的所有内容,直到它发生的地方:

  • $('td:last')返回最后一个td元素
  • $('tr > td:last')返回最后一个tr > td

由于每个td都是tr > td,所以这两个选择器没有区别。