jQuery选择器除了第一个每个表上的第一行之外的每一行

我想在每个表行的最后一个单元格上应用右对齐,跳过页面上的第一个表格并跳过每个表格的第一行。

我写了以下内容:

$("table:gt(0) tr:gt(0) td:last-child").css("text-align", "right"); 
  1. 选择第一个之后的表格。 好。
  2. 每行中的最后一个单元格对齐。 好。
  3. 跳过结果集中第一个表中的第一行。 好。
  4. 结果集中后续表中的每个第一行都应用了样式。 坏。

我已经尝试将函数传递给包装集上的“each”方法,但这不起作用。 有任何想法吗?

你快到了。

 $("table:gt(0)").find("tr:gt(0) td:last-child").css("text-align", "right"); 

否则,tr:gt(0)始终为true,因为jquery正在查看每个tr,而不是每个表中的每个tr。

尝试

 $("table:gt(0) tr:not(:first-child) td:last-child").css("text-align", "right"); 

因为gt(0)只引用你正在构建的jQuery对象中的索引,而不是表。

使用DOM选择表,并使用jQuery将样式应用于表有什么问题? 代码行太多了?

 $("table:gt(0) tr").each(){ if($(this).not(":first-child")){ $(this).find("td:last-child").css("text-align","right"); } } 

可能不是最好的方式,但这就是我要做的。

可能有更好的方法,但一个想法可能是在每个表的第一行添加一个类,你不想拥有该样式,并使用not(.myclass)过滤掉那些。

同样,将类添加到您希望样式转到的表中。