我需要向tbody
td
元素添加一个类,其中td
的位置对每一行递增1:
无法正常工作,我尝试了一些没有结果的示例。
+-----+-------------+-------------+--------------+
| | A | B | C |
+-----+-------------+-------------+--------------+
| A | td addClass | | |
| | | | |
| B | | td addClass | |
| | | | |
| C | | | td addClass |
+-----+-------------+-------------+--------------+
这是我的HTML外观
<table class="table display">
<thead>
<tr>
<th></th>
<?php
$counts = count($users);
foreach ($users as $row) {
echo '<th>'.$row->user.'</th>';
}
?>
</tr>
</thead>
<tbody>
<?php
$startC = 1;
foreach( $users as $row ) {
echo '<tr class="tbody_tr_" id="'.$startC++.'">';
echo '<td>'.$users->user.'</td>';
for($i=0; $i<$counts; $i++) {
echo '<td class="selectable"><a href="#"></a></td>';
}
echo '</tr>';
}
?>
</tbody>
</table>
答案 0 :(得分:0)
您可以执行以下操作: 基本上,您可以将$ i与相等的startC进行比较,添加类,因为您要添加的列号和行号相同的类。
<table class="table display">
<thead>
<tr>
<th></th>
<?php
$counts = count($users);
foreach ($users as $row) {
echo '<th>'.$row->user.'</th>';
}
?>
</tr>
</thead>
<tbody>
<?php
$startC = 1;
foreach( $users as $row ) {
echo '<tr class="tbody_tr_" id="'.$startC.'">';
echo '<td>'.$users->user.'</td>';
for($i=0; $i<$counts; $i++) {
if($i == $startC)
{
echo '<td class="selectable addClass"><a href="#"></a></td>';
}
else
{
echo '<td class="selectable"><a href="#"></a></td>';
}
}
$startC++;
echo '</tr>';
}
?>
</tbody>
</table>
答案 1 :(得分:0)
实际上,您可以再次迭代$users
数组以生成列。它不会干扰外部循环,因为foreach
对数组的副本进行操作。如果您跟踪每个循环中的索引,则可以在行索引和列索引匹配时添加该类。
foreach ($users as $rowindex => $row) {
echo '<tr class="tbody_tr_" id="' . $startC++ . '">';
echo '<td>' . $row->user . '</td>';
foreach ($users as $columnindex => $column) {
if ($columnindex == $rowindex) {
echo '<td class="selectable newClass"><a href="#"></a></td>';
} else {
echo '<td class="selectable"><a href="#"></a></td>';
}
}
echo '</tr>';
}
(这也意味着您无需事先count($users)
,除非您也将该计数用于其他用途。)
答案 2 :(得分:0)
由于您的问题被标记为javascript,我认为您必须考虑使用JS解决方案。它允许使用更简单的方法,用更简单的PHP代码构建表并让客户端完成工作。
self.friendly_name = fn