php - 我将如何使用 php/blade 更改 div 类
问题描述
我是第一次使用刀片,我需要根据可用属性的数量来更改此 div 元素的样式。我需要编写一个 if 语句,如果等于或小于 1,则隐藏 div,如果等于 2,则添加不同的类。
我将如何使用刀片或 php 编写这个?
@if (isset($participatingProperties) && !empty($participatingProperties) && is_array($participatingProperties))
<?php $i = 0; ?>
@foreach ($participatingProperties as $key => $property)
@if ($i++ % 3 === 0)
<div class="item item2 {{ $i < 3 ? 'active' : '' }}">
@endif
解决方案
我的理解是:
你有一个$participatingProperties
数组和一个要打印的 div。
当它有 0 或 1 个元素时,什么都不会发生。
当它有 2 个元素时,div 以特定样式打印。
当它有 3 个或更多元素时,div 以另一种样式打印。
(没有超过 3 个元素的规则)。
我会保持简单count
:
@php($count = count($participatingProperties))
@if ($count > 1)
<div
class="{!! ($count == 2) ? 'class-2' : 'class-3-or-more' !!}"
>
div content
</div>
@endif
如果您不需要每个金额都使用特定的样式,那就更简单了:
@if (count($participatingProperties) > 1)
<div class="myclass">
div content
</div>
@endif
同时使用empty
andisset
是多余的。而且我认为你不应该检查是否$participatingProperties
是一个数组,而是确保它总是在你的后端。如果您至少返回一个空数组,count
则将返回0
.
推荐阅读
- java - 来自 Callable 而不是 Runnable 的新线程?
- python - 无法在 PySide2 上使用 ApplicationWindow (QML)
- ruby-on-rails-3 - 使用 ruby 脚本的 DynamoDB 表描述
- sql - 根据另一个表中的条件显示表中的列
- .net - 不能 .loadby sos mscorwks 或 .loadby sos clr
- excel - Excel 2010 - 使用数据验证和逻辑的多个下拉菜单
- json - 如何在scala中过滤嵌套列表和地图
- sql - 在 MS SQL 中的大小写问题
- python - Python:从包含 python 字典/元组的字符串创建字典
- angularjs - 是否可以从网页调用 TeamViewer.exe 以远程连接到主机和直通密码详细信息?