我正在关注本教程: http://www.javascripttoolbox.com/jquery/
我正在尝试获取由 mySQL 填充的表行以展开以显示详细信息。奇怪的是,firebug 将行显示为隐藏(灰显),当我单击上面的行时,这些行会变为非灰显。问题是它们实际上并没有隐藏在屏幕上。当我单击“父”行时,我可以看到该行向下移动了几个像素,但仅此而已。
这是我的表格:
<?php
while($row = mysql_fetch_array($result)){
?>
<tr class="parent" id="<?php echo $row['id'] ?>">
<td><?php echo $row['type'] ?></td>
<td><?php echo $row['description'] ?></td>
<td><?php echo $row['recorded_date'] ?></td>
<td><?php echo $row['added_date'] ?></td>
</tr>
<br />
<tr style="display: none;" class="child-<?php echo $row['id'] ?>"></tr>
<td> </td>
<td>2007-01-02</td>
<td>A short description</td>
<td>15</td>
</tr>
<br />
<?php
}
mysql_close();
?>
</table>
和 jQuery(标签上方):
$(function() {
$('tr.parent')
.css("cursor","pointer")
.attr("title","Click to expand/collapse")
.click(function(){
$(this).siblings('.child-'+this.id).toggle();
});
$('tr[@class^=child-]').hide().children('td');
});
最佳答案
删除</tr>
在此行的末尾:
<tr style="display: none;" class="child-<?php echo $row['id'] ?>"></tr>
您的“child-id#”行不包含单元格。因此,点击时会有轻微的变化。 </tr>
最后并没有关闭任何标签,只是额外的。
可以删除表格行之间的换行符。它们是多余的(并且 HTML 不正确)。 <tr></tr>
标签将自动换行开始。
关于jquery - 在这个 jQuery 表展开中看不到我的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3499453/