js在这里:http://jsfiddle.net/_mtr/uqMZJ/为什么:最后一个孩子没有给我我期望的结果?
基本上,当文档准备就绪时,只有10个左右的表格不会被隐藏。我想要最后一个非隐藏行的索引,但是我的jQuery选择器让我失望。
js在这里:http://jsfiddle.net/_mtr/uqMZJ/为什么:最后一个孩子没有给我我期望的结果?
基本上,当文档准备就绪时,只有10个左右的表格不会被隐藏。我想要最后一个非隐藏行的索引,但是我的jQuery选择器让我失望。
您正在滥用:last-child选择器,该选择器与它们父级的最后一个子元素匹配。实际上,你想在匹配组的最后一个元素,所以你应该改用:last选择:
i2 = $('table .visible:last').index();
你会发现一个更新的小提琴here。
,因为没有什么(既不<tbody>
也不<tr>
也不<td>
与类visible
在同一时间为table
的最后一个孩子。
您应该使用:last
相反,它选择最后一个匹配的元素在jQuery集合
您在结束”更好地使用类选择:
var i2 = $('table :last-child .visible').index();
的Bec使用:last-child
适用于表格。
最后一个孩子只是告诉你,该元素是父代的最后一个孩子,而不是前一个选择器匹配的组的最后一个孩子。 tr.visible
都不是table
标记的最后一个孩子。要获得最后一个可见TR,试试这个来代替:
$('tr.visible').last();
这是“最后”的方法是什么:)
“因为':最后child'适用于表”你在说什么? – BoltClock 2012-02-15 05:16:12
我只是想说明OP需要的是获得表格的最后一个孩子,而不是每个“.visible”的最后一个孩子。我的回答给出了和FredericHamidi一样的结果。 – sinsedrix 2012-02-15 08:14:45