达到 ui:repeat 的最后一项时如何有条件地设置样式类?
Posted
技术标签:
【中文标题】达到 ui:repeat 的最后一项时如何有条件地设置样式类?【英文标题】:How to conditionally set a style class when last item of ui:repeat is reached? 【发布时间】:2012-09-26 19:36:29 【问题描述】:如果它是我重复的最后一个,我想在一个 div 上创建一个类。
我现在有:
<ui:repeat value="#myCollection" var="item" varStatus="status">
<div class="last">#item.text</div>
</ui:repeat>
但我希望课程只在最后一个 div 上...
#status.last
为真,如果它是最后一个 div。但是我怎样才能让类到 div 呢?
【问题讨论】:
【参考方案1】:解决方案 1,如果您可能无法兼容 IE8:
不要在 JSF 中这样做,这会破坏使用 CSS 将样式与数据隔离开来的目的。
您可以在您的 CSS 文件中执行此操作:
.normalClass:last-child
解决方案 2:
<ui:repeat value="#myCollection" var="item" varStatus="status">
<div class="#status.last?'last':''">#item.text</div>
</ui:repeat>
【讨论】:
以上是关于达到 ui:repeat 的最后一项时如何有条件地设置样式类?的主要内容,如果未能解决你的问题,请参考以下文章
在 <ui:repeat> 中指定元素的条件渲染? <c:if> 似乎不起作用
使用 handlebars.js 模板以数组中的最后一项为条件