【问题标题】:jquery tablesorter zebra functionjquery tablesorter斑马功能
【发布时间】:2025-12-19 18:50:17
【问题描述】:

我正在使用 jquery.tablesorter 插件。 我使用子网格。但是斑马函数会这样做:

 $("tr:visible", table.tBodies[0]).each(function(i) {

但是那把函数放在每个孩子 tr 上。 你能帮我改变这条线,只在网格的第一个孩子上创建函数吗?

<table class="GridA">
<tr class="firstchild"><td></td></tr>
<tr class="expand-child"><td>    
    <table class="GridB">
    <tr><td>
    </td>
    </tr>
    </table>
</td>
</tr>
<tr class="firstchild"><td></td></tr>
<tr class="expand-child"><td>    
    <table class="GridB">
    <tr><td>
    </td>
    </tr>
    </table>
</td>
</tr>
</table>

将函数限制为第一个 TR(“firstchild”)

【问题讨论】:

  • 也许我可以做一些类似“$(this).”的事情。 > tr'" 。我只是暂时不知道该怎么做。
  • 如果你有兴趣,我在 github 上有一个fork of tablesorter,它有很多改进。这个修复只是一个。 :)

标签: jquery html-table tablesorter


【解决方案1】:

你可以使用:first选择器:

$("tr:visible:first", table.tBodies[0])

$("tr:visible:first-child", table.tBodies[0])

【讨论】:

  • 最后我错了,它不起作用,因为首先获取第一个元素而不是第一个子元素。
  • 我重新编辑了我的帖子。我在表中添加了另外 2 行,显示了问题所在,并且 first() 没有解决它。
  • @forX 你能详细说明应该选择什么以及你想要实现什么吗?
  • 我想要一张桌子的孩子,没有孩子。我这样做 $('#' + table.id + " > tbody > tr.dataRow")。暂时工作。
  • @forX 这样的事情? $('#' + table.id + " > tbody").children()?