小编典典

如何使用 CSS 获得特定数字的child?

all

我有一个who 是动态创建tabletd。我知道如何获得第一个和最后一个child,但我的问题是:

有没有办法使用 CSS 获得第二个或第三个child?


阅读 63

收藏
2022-05-09

共1个答案

小编典典

对于现代浏览器,请使用td:nth-child(2)第二个tdtd:nth-child(3)第三个。请记住,这些检索td 每一行
的第二个和第三个。

如果您需要与版本 9 之前的 IE 兼容,请按照 Tim
的建议使用兄弟组合符或 JavaScript。

对于 IE 7 和 8(以及其他不支持 CSS3 的浏览器,不包括 IE6),您可以使用以下方法获取第二个和第三个:

第二个:

td:first-child + td

第三个孩子:

td:first-child + td + td

然后只需+ td为您希望选择的每个其他孩子添加另一个。

如果你想支持IE6也可以!您只需要使用一点 javascript(本例中为 jQuery):

$(function() {
    $('td:first-child').addClass("firstChild");
    $(".table-class tr").each(function() {
        $(this).find('td:eq(1)').addClass("secondChild");
        $(this).find('td:eq(2)').addClass("thirdChild");
    });
});

然后在您的 CSS 中,您只需使用这些类选择器来进行您喜欢的任何更改:

table td.firstChild { /*stuff here*/ }
table td.secondChild { /*stuff to apply to second td in each row*/ }

另请参阅我对这个相关问题的回答,以了解他的方法的解释和说明。

2022-05-09