if语句的最后一个表 - jquery

时间:2015-07-25 09:50:13

标签: javascript jquery html

有很多关于此问题的答案,但其中没有一个包含任何if语句。所以,我需要这样的东西:

if($(this) == "last <td> of the row")

我该怎么做?感谢

1 个答案:

答案 0 :(得分:3)

您可以使用:last-child选择器来测试它是否是其父母的最后一个孩子。

来自jQuery API Doc:

  

:last-child

     
      
  • Selector选择所有父元素的最后一个子元素。
  •   
  • while:last只匹配一个元素:last-child可以匹配多个:每个父元素一个。
  •   

因此,如果您使用td:last,则只有在点击代码段中的8时才会生效(如果您不使用td:last:last,没有td会测试为真,因为它们都不是DOM中的最后一个元素

点击48时,如果您使用:last-child,则两者都会测试为真,因为它们都是td中的最后tr

$('td').click(function() {
  console.log($(this).text());
  if ($(this).is(':last-child')) {
    console.log('last');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
  </tr>
  <tr>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
  </tr>
</table>