如何查找当前TD是TR中的最后一个TD

时间:2011-07-15 10:01:17

标签: javascript jquery jquery-selectors

我有一行和多个<td>。在我的一个函数中,我遇到了一种情况,我必须知道我的currentSelectedTD是否是行中的最后一个<td>,以便我可以对它进行不同的处理。

我尝试$(currentSelectedTD).is(":last")无法正常工作并始终返回true。 我还尝试了其他一些无效的可能性。

提前致谢。

5 个答案:

答案 0 :(得分:4)

您可以使用.next()来检查元素是否具有紧随其后的兄弟。

if( $(currentSelectedTD).next().length == 0) {
    // is last 
}

答案 1 :(得分:0)

您可以非常轻松地检查这一点,而无需使用jQuery:

var isLastChild = currentSelectedTD.parentNode.lastElementChild == currentSelectedTD;

这具有本机DOM和简单的优点,但它只能在现代浏览器上工作(例如需要IE9)。你可以调整它以适应任何事情,但它不会是一个单行。

答案 2 :(得分:0)

认为你应该对整套进行:last过滤并将结果存储在变量中。 然后在集合中循环,并将每个集合与您存储的集合进行比较。

答案 3 :(得分:0)

使用 -

if($('.currentSelectedTD:last')){
//do what ever you want
}

$lastTd = $('.currentSelectedTD').parent('tr').find('td:last')

答案 4 :(得分:0)

你只需要使用:

$(currentSelectedTD).is("td:last");