只有当第一行的列超过1列时,才需要JQuery选择一个表
-
03-07-2019 - |
题
我需要选择并使用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显然会爆炸。
解决方案
如何才能进行良好的检查?
if (1 < $('#tbl thead th').size()) ...
其他提示
实际修复 tablesorter而不是黑客攻击会不会更容易? (我猜你的意思是 http://tablesorter.com/ )。
我设法使用以下选择器执行此操作(也适用于旧版本的TableSorter):
#tableID:has(tbody&gt; tr&gt; td + td)
这个想法是只有当它有 tbody
且 tr
且至少有两个兄弟 td
时才会找到该表。它
不隶属于 StackOverflow