2017-08-16 100 views
0

請找到下面的代碼,交換CSS類

$scope.datas = [{name:'AB', age:1}, {name:'BC', age:2}, 
{name:'CD', age:3}, {name:'EF', age:4}, {name:'GH', age:5}, 
{name:'IJ', age:6}] 

<div ng-repeat="data in datas" class="col-xs-6"> 
    <span>{{data.name}}</span> 
    <span>{{data.age}}</span> 
</div> 

.red{ 
    background-color: red; 
    } 

.green{ 
background-color: green; 
} 

red green 
    green red 
    red green 

我想用這些(紅,綠)班的每一個自舉行交換。我們怎樣才能做到這一點?

+0

您應該使用':第n-child'對於這一點,而不是額外的類(和類與最重要的是這種可怕的名字......) https://jsfiddle.net/j24yk5L5/ – CBroe

+0

@CBroe,感謝它的工作完美沒有CSS類,:) – Jeyabalan

回答

0

您應該使用:nth-child對於這一點,而不是額外的類。

div { 
    /* formatting for the 「normal」 elements goes here (red) 
    outline: 1px solid red; 
} 

div:nth-child(4n+2), // select every 2nd 
div:nth-child(4n+3) { // and 3rd out of each 「group」 of 4 elements 
    /* formatting for the 「special」 elements, based on their position */ 
    outline: 1px solid green; 
} 

一個簡單的小提琴演示原理:https://jsfiddle.net/j24yk5L5/

+0

其實我' m使用bg顏色代替outline屬性,它的工作正常。 Thanks☺ – Jeyabalan

0

你可以使用:

<div ng-repeat="data in datas" class="col-xs-6" ng-class="$index % 2 == 0 ? 'even' : 'odd'"> 
    <span>{{data.name}}</span> 
    <span>{{data.age}}</span> 
</div> 

然後在你的CSS:

.even span:nth-child(even), 
.odd span:nth-child(odd){ 
    background-color: red; 
} 
.even span:nth-child(odd), 
.odd span:nth-child(even){ 
    background-color: green; 
} 
+0

不,如果我可以使用,不能得到上面我提到的一個。 – Jeyabalan

+0

@Jeyabalan,對不起,誤解了這個問題,已經做了修改 – proPhet

+0

我們可以將css類換成整個div,而不是每個span標籤嗎? – Jeyabalan