如何在PHP while循环中为首个Tab分配active类?
解决PHP循环生成Tab时仅第一个Tab添加active类的问题
你只需要在循环外新增一个计数器变量,通过判断计数器的值来决定是否给Tab添加active类,具体修改如下:
- 在
while循环前初始化一个计数器,比如$tabCount = 0; - 在循环内部,根据计数器是否为0来拼接class字符串:
- 当
$tabCount等于0时,使用包含active的完整class - 否则,使用不带
active的class
- 当
- 每次循环结束后让计数器自增
修改后的完整代码:
$tabCount = 0; while($row = $result->fetch_assoc() ) { $id = $row['id']; $in = $row['initial']; $name = $row['name']; // 根据计数器判断是否添加active类 $class = $tabCount === 0 ? "tab-pane fade p-2 active" : "tab-pane fade p-2"; echo "<div class=\"$class\" id=\"$in\" role=\"tabpanel\" aria-labelledby=\"$in-tab\">"; // 这里可以继续添加Tab面板的内容 $tabCount++; // 计数器自增 }
这样就能保证只有第一次循环生成的Tab会带有active类,后续的Tab都不会激活。
内容的提问来源于stack exchange,提问作者Anthony
相关产品推荐
相关产品推荐

