我有一个包含多列的表,但其中一些是使用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单元格数?
提前致谢!
答案 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;
});