2012-02-14 71 views

回答

3

您正在滥用:last-child选择器,该选择器与它们父级的最后一个子元素匹配。实际上,你想在匹配组的最后一个元素,所以你应该改用:last选择:

i2 = $('table .visible:last').index(); 

你会发现一个更新的小提琴here

0

,因为没有什么(既不<tbody>也不<tr>也不<td>与类visible在同一时间为table的最后一个孩子。

您应该使用:last相反,它选择最后一个匹配的元素在jQuery集合

0

您在结束”更好地使用类选择:

var i2 = $('table :last-child .visible').index(); 

的Bec使用:last-child适用于表格。

+0

“因为':最后child'适用于表”你在说什么? – BoltClock 2012-02-15 05:16:12

+0

我只是想说明OP需要的是获得表格的最后一个孩子,而不是每个“.visible”的最后一个孩子。我的回答给出了和FredericHamidi一样的结果。 – sinsedrix 2012-02-15 08:14:45

0

最后一个孩子只是告诉你,该元素是父代的最后一个孩子,而不是前一个选择器匹配的组的最后一个孩子。 tr.visible都不是table标记的最后一个孩子。要获得最后一个可见TR,试试这个来代替:

$('tr.visible').last(); 

这是“最后”的方法是什么:)

相关问题