jquery - 在这个 jQuery 表展开中看不到我的错误

标签 jquery mysql html-table

我正在关注本教程: 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>&nbsp;</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/

相关文章:

Mysql为每个组选择最后一行

python - Mysqldb 和 Python KeyError 处理

javascript - 克隆 <tr> 并在 JavaScript/jQuery 中修改克隆的内容

javascript - 单个 DIV 内有 2 个 onClick 事件

javascript - 回发导致 slider 重置,如何阻止它进行重置(asp.net 网站)

Mysql 查询运行完美,但 JPA 查询没有返回任何结果

html - 表格中带有奇怪填充的图像

css - 电子邮件的动态高度 100% td

javascript - jQuery 拖放功能不起作用

jquery - 为什么我的粘性菜单在更改到位置 :fixed 时向左跳转