行の最初と最後のTDを選択する方法は?


170

TD行の最初と最後をどのように選択できますか?

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

回答:


377

:first-childおよび:last-child疑似セレクターを使用できます。

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

これはすべての主要なブラウザで機能するはずですが、要素が動的に追加されるとIE7にはいくつかの問題があります(IE6では機能しません)。


2番目と3番目の子を選択する場合はどうでしょうか。
clarkk

2
そして、いただきました!違いtr > tdtr td
clarkk、2011

ボディ> P {行の高さ:1.3}あなたはで見ることができます:以下のルールでは、BODYの子であるすべてのP要素のスタイルを設定しますw3.org/TR/CSS2/selector.html#child-selectors(掲示同じページをジェームズによって)
フランチェスコ

4
@clarkk-は>直接の子のみを選択します。それがなければ、すべての子孫(たとえば、子供たちの子供たち)が選択されます。2番目または3番目の子を選択するには、nth-child疑似セレクターを調べます。
James Allardice、2011

@BoltClockを使用してこの問題の解決策を一度見ました+。のような tr td + td + .... +td ものですが、私が持っているtdの数がわからない場合はどうなりますか?
Royi Namir 2013

19

次のスニペットを使用できます。

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

次の疑似クラスを使用します。

:first-child は、「この要素が親の最初の子である場合にこの要素を選択する」ことを意味します。

:last-childは、「この要素が親の最後の子である場合にこの要素を選択する」ことを意味します。

要素ノード(HTMLタグ)のみが影響を受け、これらの疑似クラスはテキストノードを無視します。


15

あなたは使用することができます最初の子::最後の子を pseudo-selectors

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

または、次のような他の方法を使用できます

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

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

どちらも完全に機能しています


2

sass(s​​css)を使用する場合は、次のスニペットを使用できます。

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

2

行に先頭(または末尾)が含まれている場合 thタグtd:first-of-typeおよび:last-of-typeセレクターを使用する必要があります。それ以外の場合、td行の最初の要素でない場合、最初の要素は選択されません。

これは与える:

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

1
私は機能していなかった最後の子を使用していた時間を節約できましたが、ソリューションは完全に機能しました
Mirza Obaid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.