我有一个who 是动态创建table的td。我知道如何获得第一个和最后一个child,但我的问题是:
table
td
有没有办法使用 CSS 获得第二个或第三个child?
对于现代浏览器,请使用td:nth-child(2)第二个td和td:nth-child(3)第三个。请记住,这些检索td 每一行 的第二个和第三个。
td:nth-child(2)
td:nth-child(3)
如果您需要与版本 9 之前的 IE 兼容,请按照 Tim 的建议使用兄弟组合符或 JavaScript。
对于 IE 7 和 8(以及其他不支持 CSS3 的浏览器,不包括 IE6),您可以使用以下方法获取第二个和第三个:
第二个:
td:first-child + td
第三个孩子:
td:first-child + td + 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*/ }
另请参阅我对这个相关问题的回答,以了解他的方法的解释和说明。