在CSS中有选择第二个孩子的方法吗?

时间:2012-05-15 07:05:06

标签: jquery css css-selectors

还需要确保浏览器兼容性(应该在IE8中运行)

我遇到了 - :n-last-child(2)
但它不是浏览器兼容的,因为它是一个css3选择器。

另外我遇到了一个提示,以获得第2,第3,第4个孩子as-td:first-child + td + td
但是没有办法像上一个孩子那样扭转最后一个孩子。

我不想使用jquery 将类应用于倒数第二个元素只是选项吗?

6 个答案:

答案 0 :(得分:2)

CSS3 nth-last-child可能是要走的路,因为支持应该变得越来越普遍。

如果不这样做,你可以简单地在标记中的元素中添加一个CSS类,例如:

<tr>
  <td>...</td>
  <td class = "penultimate">...</td>
  <td>...</td>
</tr>

答案 1 :(得分:1)

在指定的条件下,将class(或id)应用于倒数第二个元素只是选项。

答案 2 :(得分:1)

只因为你暗示你正在使用表

你不清楚你想对倒数第二个组做什么,但是,只是因为你的例子是指表格单元,我提供了这个可能的解决方案 - 使用{{1造型。

这需要您知道列数。 Here is an explanation。它可以设置哪些样式 非常严格的限制 (尽管它在IE8中可以正常工作)。 Here is an example fiddle,其中包含以下示例:

<强> HTML

<col />

<强> CSS

<table>
    <col span="2"/>
    <col class="secondToLast"/>
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
</table>

答案 3 :(得分:1)

nth-last-child语法:

:n-last-child(N){} N可以是:

number - 任何整数(1,2,10等)。 这将匹配孩子在该确切位置,从父母的底部向上计数。 表达式形式为a + b的代数表达式,允许您匹配更复杂的组合 奇数 - 从最后一个孩子开始,匹配其他孩子。 even - 匹配其他所有孩子,从倒数第二个开始。

答案 4 :(得分:0)

使用它在 CSS

中很简单
:nth-last-child(2)

答案 5 :(得分:0)

如果:nth-last-child(2)不适合您:

您可以统计父母的所有子女:

var totalChildDivs = jQuery('.parent div').length;

然后瞄准最后一个孩子:

jQuery('.parent div')[totalChildDivs-1].css("background: red;");