我需要选择并使用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 时才会找到该表。它

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top