Angular Js:如何在ng-repeat中找到第一个和最后一个元素并为它们添加特殊类?

ris*_*hal 22 angularjs angularjs-ng-repeat

我使用角度js改变了以下内容

<section id="social">
    <h2 class="line">Social Profiles</h2>
    <a href="#" class="first"><i class="icon-facebook"></i></a>
    <a href="#"><i class="icon-twitter"></i></a>
    <a href="#"><i class="icon-linkedin"></i></a>
    <a href="#"><i class="icon-google-plus"></i></a>
    <a href="#" class="last"><i class="icon-rss"></i></a>
    <div class="clear"></div>
</section>
Run Code Online (Sandbox Code Playgroud)

对此

<section id="social">
    <h2 class="line">Social Profiles</h2>
    <a ng-repeat="sMedia in socialMedia" ng-if="$first" href="#" >
        <i class="{{sMedia.icon}}"></i>
    </a>
    <div class="clear"></div>
</section>
Run Code Online (Sandbox Code Playgroud)

一切似乎都很好,除了我找不到添加class="first"第一个元素和class="last"最后一个元素的方法ng-repeat.

Sho*_*omz 37

只需使用$ first和$ last结合ng-class:

<a ng-repeat="sMedia in socialMedia" ng-class="{'first': $first, 'last': $last}" href="#" >
Run Code Online (Sandbox Code Playgroud)

看看它们是如何工作的:https://docs.angularjs.org/api/ng/directive/ngRepeat


Ton*_*hen 5

您可以使用:

#social a:first-child{ /* your first css code */ }
#social a:last-child{ /* your last css code */ }
Run Code Online (Sandbox Code Playgroud)