Jawaban:
Untuk browser modern, gunakan td:nth-child(2)
untuk yang kedua td
, dan td:nth-child(3)
yang ketiga. Ingat bahwa ini mengambil baris kedua dan ketiga td
untuk setiap baris .
Jika Anda memerlukan kompatibilitas dengan IE yang lebih lama dari versi 9, gunakan kombinator saudara atau JavaScript seperti yang disarankan oleh Tim . Lihat juga jawaban saya untuk pertanyaan terkait ini untuk penjelasan dan ilustrasi metodenya.
td:nth-of-type(3)
lebih baik. td:nth-child(3)
akan cocok elemen yang baik seorang td
dan anak ketiga dari induknya, terlepas dari jenis elemen dari dua bersaudara sebelumnya . td:nth-of-type(3)
akan mendapatkan yang ketiga td
, terlepas dari berapa banyak td
elemen non -sebelumnya . Jika tidak ada td
elemen selain elemen yang Anda inginkan, kedua penyeleksi akan mencocokkan hal yang sama.
Untuk IE 7 & 8 (dan browser lain tanpa dukungan CSS3 tidak termasuk IE6) Anda dapat menggunakan yang berikut untuk mendapatkan anak ke-2 dan ke-3:
Anak ke-2:
td:first-child + td
Anak ke-3:
td:first-child + td + td
Kemudian cukup tambahkan yang lain + td
untuk setiap anak tambahan yang ingin Anda pilih.
Jika Anda ingin mendukung IE6, itu bisa dilakukan juga! Anda hanya perlu menggunakan sedikit javascript (jQuery dalam contoh ini):
$(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");
});
});
Kemudian di css Anda, Anda cukup menggunakan pemilih kelas untuk melakukan perubahan apa pun yang Anda suka:
table td.firstChild { /*stuff here*/ }
table td.secondChild { /*stuff to apply to second td in each row*/ }