:first-child with ng-repeat

2019-04-28 15:57发布

I have an ng-repeat and only want to apply a style to the first div with the class type in the ng-repeat.

<div class="my-list" ng-repeat="item in list">
  <div class="type">
    <span>{{item.label}}</span>
  </div>
  <div class="check">
    <span>{{item.ischecked}}</span>
  </div>
</div>

I have tried the following but it applied the CSS to all the divs with a class of type

.my-list .type:first-child

2条回答
孤傲高冷的网名
2楼-- · 2019-04-28 16:35

You can use $first, that indicates the first iteration within a ng-repeat.

<div class="my-list" ng-repeat="item in list">
  <div class="type" ng-class="{myClass:$first}">
    <span>{{item.label}}</span>
  </div>
  <div class="check">
    <span>{{item.ischecked}}</span>
  </div>
</div>
查看更多
该账号已被封号
3楼-- · 2019-04-28 16:38

Basically you need to do the other way around.

.my-list:first-child .type{
  color:red;
}

ng-repeat will put multiple .my-list divs and you want to target the .type of the first div alone. So apply selector on .my-list.

查看更多
登录 后发表回答