我正在使用网格控件,其中表有一个tr被隐藏,点击后打开..所以我尝试了下面的函数将类添加到奇数行。
<script type="text/javascript">
// Activate TableStyling
jQuery(document).ready(function () {
$('table.management').each(function () {
$(this).children('tbody').children(':odd').addClass('grey');
});
});
但是问题是隐藏的TR也是如此...所以我需要的功能是不计算那个隐藏的TR&amp;将该类添加到查看的Tr的
答案 0 :(得分:5)
你可以这样做:
$(this).children('tbody').children(':visible:odd').addClass('grey');
此外,如果你的隐藏tr
有一些特殊的课程,你可以这样做:
$(this).children('tbody').children(':not(.<your hidden class>):odd')
.addClass('grey');
答案 1 :(得分:2)
您可以尝试将:visible
伪选择器与:odd
混合使用。
答案 2 :(得分:2)
答案 3 :(得分:1)
尝试添加:visible
选择器。
$(this).children('tbody').children(':visible:odd').addClass('grey');
答案 4 :(得分:1)
大多数(如果不是全部)答案都假定您对“隐藏”的定义与jQuerys相同。在其他情况下,“隐藏”可能类似于高度:0px,带有重叠元素的模糊z索引等。在这些非常罕见的情况下,过滤方法可以与您自己的逻辑一起使用来对被视为“隐藏”的内容进行分类。
$(this).children('tbody').filter(function(){
return this.isNotAHiddenTR(); // your custom logic.
// return $(this).is(':visible'); // the most likely solution
}).children(':odd').addClass('grey');
此外,:visible
选择器将返回visibility: hidden
的元素。