JQuery的:visible选择器在IE8下无效的问题

下面这段代码在chrome,FF等标准浏览器下正常选择,甚至IE7也正常(IE6/IE9未测),但是在IE8下始终返回空的jquery对象

// 选择表格中所有可见的行,给他们加上红色边框
var rows = $('table tr:visible').css('border','1 px solid');

无奈只有自己循环判断:

jQuery.fn.theadVisible = function() {
    for(var i = 0; i < this.length; i++){
        if(this[i].style.display !== 'none'){
            return $(this[i]);
        }
    }
    return this;
}

可以直接贯连使用:

var rows = $('table tr').theadVisible().css('border','1px solid red');

标签: none