Javascript Angularjs在ng repeat中查找最后一个可见元素

Javascript Angularjs在ng repeat中查找最后一个可见元素,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我想更改列表中最后一个元素的颜色,如下所示 <div ng-repeat="item in items"> <h3 ng-hide="(hideStudent && item.role == 'student')" ng-class="{'last':$last}">{{item.name}}</h3> </div> <button type="button" ng-click="(hideStudent = true)

我想更改列表中最后一个元素的颜色,如下所示

 <div  ng-repeat="item in items">
<h3 ng-hide="(hideStudent && item.role == 'student')" ng-class="{'last':$last}">{{item.name}}</h3>
</div>
 <button type="button" ng-click="(hideStudent = true)" >Hide Students</button>

当我点击“隐藏学生”按钮时,所有学生都将被隐藏。现在,如果最后一个项目是学生且其隐藏,则不会更改最后显示的元素颜色,因为$last似乎看不到元素是否隐藏。我可以使用ng if代替ng hide,但我想知道这是否可以通过任何其他方式实现,而不是使用ng if。

尝试使用:最后一个子伪类

此问题在中得到了回答。您只能使用ng样式定义显示或隐藏项目。然后,您可以使用:last child来选择最后一个可见项:ng style=“(hideStudent&&item.role==“student”)?“hide':“show”并在css中显示。show:last child我继续按照您的建议使用css来执行此操作。谢谢
.last {
color: #800;
 }