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); } });
原文地址:https://www.cnblogs.com/hdjjun/p/1551355.html