Arka arkaya ilk ve son TD nasıl seçilir?


170

TDArka arkaya ilk ve sonuncuyu nasıl seçersiniz ?

tr > td[0],
tr > td[-1] {
/* styles */
}

Yanıtlar:


377

Sen kullanabilirsiniz :first-childve :last-childsözde seçicileri:

tr td:first-child,
tr td:last-child {
    /* styles */
}

Bu, tüm büyük tarayıcılarda çalışmalıdır, ancak öğeler dinamik olarak eklendiğinde IE7'de bazı sorunlar vardır (ve IE6'da çalışmaz).


ve ikinci og üçüncü çocuğu seçmek isterseniz?
clarkk

2
ve whats arasındaki fark tr > tdve tr td?
clarkk

Aşağıdaki kural, BODY öğesinin alt öğesi olan tüm P öğelerinin stilini ayarlar: body> P {line-height: 1.3} Şurada görebilirsiniz: w3.org/TR/CSS2/selector.html#child-selectors (aynı sayfa gönderildi) James)
Francesco

4
@clarkk - >Yalnızca doğrudan çocukları seçer. Onsuz, tüm torunlar (örneğin, çocukların çocukları) seçilecektir. 2. veya 3. çocuğu seçmek için nth-childsözde seçiciye bakın.
James Allardice

@BoltClock Bir kez bu soruna çözüm kullanarak gördüm +. gibi bir şey tr td + td + .... +td ama ne kadar td sahip bilmiyorum?
Royi Namir

19

Aşağıdaki snippet'i kullanabilirsiniz:

  tr td:first-child {text-decoration: underline;}
  tr td:last-child {color: red;}

Aşağıdaki sözde sınıfları kullanma:

: first-child " ebeveyninin ilk çocuğuysa bu öğeyi seç" anlamına gelir .

: last-child " üst öğesinin son çocuğu ise bu öğeyi seç" anlamına gelir .

Yalnızca öğe düğümleri (HTML etiketleri) etkilenir, bu sözde sınıflar metin düğümlerini yok sayar.


15

Şunları kullanabilirsiniz : ilk çocuk ve : son çocuk pseudo-selectors :

tr td:first-child{
    color:red;
}
tr td:last-child {
    color:green
}

Veya şu şekilde kullanabilirsiniz:

// To first child 
tr td:nth-child(1){
    color:red;
}

// To last child 
tr td:nth-last-child(1){
    color:green;
}

Her iki yol da mükemmel çalışıyor


2

Sass (scss) kullanıyorsanız aşağıdaki snippet'i kullanabilirsiniz:

tr > td{
   /* styles for all td*/
   &:first-child{
     /* styles for first */ 
   }
   &:last-child{
    /* styles for last*/
   }
 }

2

Satır thöncesinde bazı önde gelen (veya sondaki) etiketler içeriyorsa td, :first-of-typeve :last-of-typeseçicilerini kullanmalısınız. Aksi takdirde, tdsatırın ilk öğesi değilse ilk seçilmez.

Bu şunu verir:

td:first-of-type, td:last-of-type {
    /* styles */
}

1
çalışmayan son çocuğu kullandığım zamandan tasarruf ettiniz ama çözümünüz mükemmel çalıştı
Mirza Obaid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.