仅当第一行多于 1 列时才需要 JQuery 选择表
我需要使用 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();
选择器和过滤器的哪种组合将使这项工作有效?
顺便说一句,我需要这个的原因是,当表输出中只有 1 列时,具有多列 sortList 的表排序器显然会崩溃。
I need to select and act on a table element with JQuery, but only when it contains at least one row with more than one column. The following selector works, but only gets me part way:
$('#my_table_is:has(tbody tr)').doSomething();
Variations I have tried with no success are:
$('#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();
What combination of selector and filter will make this work?
BTW, the reason I need this is that tablesorter with a multi-column sortList, will apparently blow up when there is only 1 column in the table output.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只进行一次良好的 ole 检查怎么样?
how about just a good ole check?
实际修复表排序器而不是乱搞不是更容易吗? (我假设您的意思是 http://tablesorter.com/)。
Would it not be easier to actually fix the tablesorter instead of hacking around? (I assume you mean http://tablesorter.com/).
我设法使用以下选择器(也适用于旧版本的 TableSorter)来完成此操作:
#tableID:has( tbody > tr > td + td )
这个想法是它将找到表仅当它的
tbody
和tr
中至少有两个同级td
时。I managed to do this with the following selector (also for an old version of TableSorter):
#tableID:has( tbody > tr > td + td )
The idea is that it will find the table only if it has a
tbody
with atr
that has at least two siblingtd
in it.