2013-08-21 166 views
0

我是AngularJS的初學者,真的不想用JQuery來解決我的問題(也許我錯了)。如何在特定的td上應用css第一個tr

這裏是我的問題:

我想最後TD元素在第一TR表中的應用CSS。

我的代碼:

<table> 
    <tr ng-repeat="person in persons | orderBy:'name'"> 
     <td>{{person.name}}</td> 
     <td>{{person.email}}</td> 
    </tr> 
</table> 

所以對於第一TR,最後TD元素應該是<td class="myClass">{{person.email}}</td>

謝謝您的回答和解釋。

編輯:我忘記說了,我知道如何在最後TD應用CSS來解決我的問題,但我想用angularjs做到這一點,因爲我可以有型動物,並取決於區別,我想申請另一個CSS樣式。

回答

1

使用角度的ng-class指令應用樣式條件:

<table> 
    <tr ng-repeat="person in persons | orderBy:'name'"> 
     <td>{{person.name}}</td> 
     <td ng-class="{'myClass':$index==0}">{{person.email}}</td> 
    </tr> 
</table>  
5

或者,如果你不想把ID或類,你可以做這樣的事情:

table tr:first-child td:last-child {} 

請注意,並非所有瀏覽器都支持孩子選擇

1
.TABLE-CLASS tr:first-child td:last-child{ 
    //style 
} 
0

使用僞類 -

第一孩子僞類的意思是「如果這個元素是其父母的第一個孩子」。 :最後孩子的意思是「如果這個元素是其父母的最後一個孩子」。請注意,只有元素節點(HTML標籤)計數,這些僞類忽略文本節點。 所以這些樣式會爲你工作 -

table tr td:last-child{ 
} 

table tr td:first-child{ 

} 
0

如果只有2 <td>每一行,你可以通過使用CSS +選擇避開缺乏在IE8 :last-child支持:

table tr:first-child td + td { 
    /* styles */ 
} 

這將選擇任何<td>之前是另一個<td>,並且是每個<table>的第一個<tr>的孩子。