我需要选择并使用JQuery对表元素执行操作,但仅当它包含至少一行包含多个列时才行。以下选择器有效,但只能让我分道扬:
$('#my_table_is:has(tbody tr)').doSomething();
我尝试过没有成功的变化是:
$('#my_table_id:has(tbody > tr > td:eq(1))').doSomething();
$('#my_table_id:has(tbody tr:nth-child(1))').doSomething();
$('#my_table_id:has(td:eq(1))').doSomething();
选择器和过滤器的哪种组合可以使其工作?
BTW,我需要这个的原因是,当表输出中只有1列时,带有多列sortList的tablesorter会显然会爆炸。
答案 0 :(得分:1)
如何才能进行良好的检查?
if (1 < $('#tbl thead th').size()) ...
答案 1 :(得分:0)
实际修复 tablesorter而不是黑客攻击会不会更容易? (我猜你的意思是http://tablesorter.com/)。
答案 2 :(得分:0)
我设法使用以下选择器执行此操作(也适用于旧版本的TableSorter):
#tableID:has( tbody > tr > td + td )
我们的想法是,只有当tbody
的{{1}} tr
至少有两个兄弟td
时才会找到该表。