【发布时间】:2016-01-05 19:08:44
【问题描述】:
我想改变列表中最后一个元素的颜色,显示如下,
<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>
CSS:
.last {
color: #800;
}
当我点击“隐藏学生”按钮时,所有学生都将被隐藏。现在,如果最后一项是学生并且它是隐藏的,那么最后显示的元素颜色不会改变,因为 $last 似乎没有看到元素是否隐藏。我可以使用 ng-if 代替 ng-hide,但我想知道这是否可以通过任何其他方式完成,而不是使用 ng-if。
【问题讨论】:
-
这个问题在This post得到解答
-
您只能使用 ng-style 来定义显示或隐藏项目。然后,您可以使用 :last-child 选择最后一个可见项目: ng-style="(hideStudent && item.role == 'student') ? 'hide' : 'show'" 和 css .show:last-孩子
标签: javascript html css angularjs