jQuery 1.3.2 :visible选择器问题
在1.3.2版本中 选择器 :visible 可能有问题,用JQuery1.3.2 中文参考手册中的 示例
描述:
查找所有可见的 tr 元素
HTML 代码:
<table>
<tr style="display:none"><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>jQuery 代码:
$("tr:visible")结果:
[ <tr><td>Value 2</td></tr> ]
发现 $("tr:visible")选出的元素有两个,与示例结果不符。但是在之前的版本如1.2.3中正确,不知是否是bug。
google了下发现一篇老外的文章(http://remysharp.com/2008/10/17/jquery-really-visible/),扩张了个:reallyvisible解决了此问题
扩展方法:
jQuery.extend(jQuery.expr[":"], { reallyvisible: function(a) { return !(jQuery(a).is(':hidden') || jQuery(a).parents(':hidden').length); } });