【发布时间】:2013-11-23 17:51:53
【问题描述】:
我有一个 4*5 的表(4 列,5 行)。
我想在第一列和第二行之后的单元格中添加一个类。
我的代码:
$("tr>td:nth-child(1) tr:nth-child(n+3)").addClass("ClassName");
这不起作用。关于如何做到这一点的任何想法?
附言。 JsFiddle
【问题讨论】:
标签: jquery css-selectors html-table
我有一个 4*5 的表(4 列,5 行)。
我想在第一列和第二行之后的单元格中添加一个类。
我的代码:
$("tr>td:nth-child(1) tr:nth-child(n+3)").addClass("ClassName");
这不起作用。关于如何做到这一点的任何想法?
附言。 JsFiddle
【问题讨论】:
标签: jquery css-selectors html-table
要选择在第一列和第二行之后都的单元格,请使用 CSS 选择器:
tr:nth-child(n+3) td:nth-child(1)
jQuery:
$("tr:nth-child(n+3) td:nth-child(1)").addClass("ClassName");
你的小提琴,更新:http://jsfiddle.net/CnUw6/1/
【讨论】:
$('aa bb') 表示每个bb 是aa 的子级。如果您选择$('td:something tr:something-else') 之类的内容,在您的示例中,将不会有任何结果,因为没有tr 是td 的子项。
$("tr:nth-child(n+3) td:nth-child(1)") 时,您会说:首先从第三个开始给我获取行 (trs)。现在,给我他们属于第一列的孩子 (td)。
highlight 类添加到td,并将highlight2 类添加到tr。由于td 比tr“更具体”,它的风格将占上风。将选择器更改为tr:nth-child(n+5) td,它将选择(并添加类)到tds 而不是tr。这样,由于类的顺序,highlight2 将是有效的:jsfiddle.net/CnUw6/5(注意类的声明事项的顺序:jsfiddle.net/CnUw6/4)
元素之间需要一个逗号:
$("tr > td:nth-child(1), tr:nth-child(n+3)").addClass("ClassName");
【讨论】: