有很多关于此问题的答案,但其中没有一个包含任何if
语句。所以,我需要这样的东西:
if($(this) == "last <td> of the row")
我该怎么做?感谢
答案 0 :(得分:3)
您可以使用:last-child选择器来测试它是否是其父母的最后一个孩子。
来自jQuery API Doc:
:last-child
- Selector选择所有父元素的最后一个子元素。
- while:last只匹配一个元素:last-child可以匹配多个:每个父元素一个。
因此,如果您使用td:last
,则只有在点击代码段中的8
时才会生效(如果您不使用td:last
但:last
,没有td会测试为真,因为它们都不是DOM中的最后一个元素
点击4
和8
时,如果您使用: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>