jQuery有多个标准

时间:2013-12-05 07:45:30

标签: jquery

我有一个包含多列的表,但其中一些是使用display:none隐藏的。万一,它有帮助,我使用Footable来隐藏整个列。 单元格只能包含字母P,否则它们是空的。我的问题是,在最后一列,我正在计算行中有多少“P”,我正在使用此代码:

$('td.last_column').html(function() {
var P = $(this).prevAll('td.column_p:contains(P)').length;
return P;
});

问题是它还在计算包含“P”但隐藏的单元格。是否有任何简单的方法只能获得包含字母P的行上的VISIBLE单元格数?

提前致谢!

2 个答案:

答案 0 :(得分:0)

假设它的工作方式符合预期,除了显示隐藏单元格的内容外,我建议使用:visible选择器将选择优化为仅对那些可见的元素。用户,以及包含P

$('td.last_column').html(function() {
    var P = $(this).prevAll('td.column_p:visible:contains(P)').length;
    return P;
});

您还可以切换到使用带有选择器的siblings()

$('td.last_column').html(function() {
    var P = $(this).siblings(':visible:contains(P)').length;
    return P;
});

参考文献:

答案 1 :(得分:0)

尝试:visible

  

选择所有可见的元素。

$('td.last_column').html(function () {
    var P = $(this).prevAll('td.column_p:visible:contains(P)').length;
    return P;
});