该问题主要是在ie8下对tr标签隐藏时,使用:visible这个选择器统计其个数时,会出现:visible失效


下面是一段官方的解释:
There is an open ticket for this. It is interesting because IE says that the TR element still has a width > 0 even though it isn't displayed. If you check the TD of the hidden TR, it is hidden.

 

现在的1.4.X版本仍然没有能够解决这个问题,所以对于tr标签在使用

 

:visible

这个选择器时需要额外处理一下

//请无视下面一行
t.theadVisible = $('thead tr:last th:visible', g.hDiv);
//ie8 下:visible 对于tr的bug,遍历所有对象,用css的display来判断
t.theadVisible = $.grep(t.theadVisible, function(n, i){
return $(n).css("display") !== 'none';
});

原文:http://fangbubu.javaeye.com/blog/718691

但是最新的 Jquery 1.4.4 解决了此问题.

JQuery tr:visible IE8 失效._jQuery   作者:NewSea  

  如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。