当前位置: 首页 > 知识库问答 >
问题:

td在jQuery display:none然后display:table之后丢失ext文件样式设置

夹谷山
2023-03-14

我无法使表格正确显示。我使用HP echo语句创建表-4列,最多几百行。我只想在任何时候显示表的20行。因此,我创建了完整大小的表,然后为了初始化,我使用一个js函数调用,首先为所有行调用css(display:none),然后为我希望显示的数组中的20个连续行中的每一行调用css(display:table)。

Thead的HTML:

<thead> 
        <tr>
            <th>
                <div class='title'>Fiddle Tunes Collection (<? echo sizeof($pml_arr); ?>) </div>
            </th>
            <th class='key' >Key</th>
            <th class='mode'>Mode</th>
            <th id="TS" class='type'>Tune/Song</th> 
        </tr>
    </thead>

tBody的php:

foreach ($pml_arr as $row => $cell) {   
            $item = $row + 1;
            echo    "<tr id='row" . $row . "'>" ;   
                echo    "<td>";
                    echo "<div class='title'> ";
                        echo "$item"; 
                        echo ") ";
                        echo "$cell[0] ";
                    echo "</div> ";
                echo "</td>";
                echo    "<td class='key'>$cell[1]</td>" ;
                echo    "<td class='mode'>$cell[2]</td>" ;
                echo    "<td class='type'>$cell[3]</td>" ;
            echo    "</tr>" ;   
        }

JS:

function initTblDisp()  { // alert("View the full array in the table");
    $(document).ready (function ()   { 
        $("tbody > tr").css ("display", "none"); 
        var i=0; var row_id;
        while (i<20)    {   
            row_id = ("row" + i); 
            $("#" + row_id).css ("display", "table"); 
            i++; 
        }   
    }); 
}

div class=“title”的css:

.title          { width:55%; text-align:left; padding-left:4px; 
padding-right:4px; display:inline; white-space:no-wrap; overflow:hidden; }

前2 TR的回显php(来自“视图源”):

<tr id='row0'>
  <td> <div class='title'> 1) Boys of Bluehill </div> </td>
  <td class='key'>D</td><td class='mode'>major</td>
  <td class='type'>T</td>
</tr>

<tr id='row1'>
  <td><div class='title'> 2) Cluck Old Hen </div> </td>
  <td class='key'>A</td>
  <td class='mode'>Dorian</td>
  <td class='type'></td>
</tr>

thead和tbody是兄弟姐妹,是table的子代。

主要问题是tbody cols在js调用后失去了它们的width样式。提示:

>

  • 如果我在alert()处暂停js,我会看到完整的表,其中4个cols被格式化为thead和tbody的正确col宽度。(但第一列中的.title div是“中心”对齐的,而不是我所期望的“左”对齐的。)

    当我让js完成时,我会看到文件的前20行,但tbody中的所有col都失去了它们的宽度样式,并恢复到基于td内容宽度的默认浏览器col宽度,但thead宽度样式保持正常。

    在花了几天的时间在这里和其他地方寻找暗示,但却一无所获之后,我已经没有选择了。我将非常感谢一些不像我现在那么红的新眼睛的帮助。(我希望作为我的第一个问题,我没有在这里提出太多。它可能是一个愚蠢的简单的问题。)

  • 共有1个答案

    胡弘毅
    2023-03-14

    尝试将行显示设置为“表-行”而不是“表”。

     类似资料:
    • 唯一的问题基本上是CSS类“MyStyle”在Ajax返回后没有在浏览器中格式化。

    • 我在windows 8 64位和windows vista 32位上都使用eclipse luna。同样的问题。我的程序在eclipse IDE中运行得很好,但在编译时出现了以下异常: C:\用户\Preben\桌面\测试\src\资源\default.bws(找不到路径) 其中“test”是桌面上的一个文件夹,“default”。bws’是需要处理的文件。 “资源”文件夹也作为子文件夹存在于Pr

    • 我被CompletableFuture异常处理卡住了。 我的逻辑是发送电子邮件并保存此操作的状态。如果发送电子邮件抛出异常,我需要用异常消息保存状态。 处理器类目前有此代码。它工作正常,但对我来说并不优雅。我们如何摆脱用于在阶段之间共享状态的错误本地字段? 看起来句柄方法应该会有所帮助,但它返回可完成未来的可完成未来

    • 本文向大家介绍解决window.location.href之后session丢失的问题,包括了解决window.location.href之后session丢失的问题的使用技巧和注意事项,需要的朋友参考一下 今天一个小伙伴问我问题,就是java后台把数据放入session,jsp里js重定向页面之后就取不到session里面的数据了,而且他本地可以,服务器上却取不到session 下面是他写的重定

    • 我已经设置了一个在Docker中运行的基本MariaDB实例——基本上是从使用Kitematic UI启动容器开始,更改设置,然后让它运行。 今天,我想做一个备份,所以我用Kitematic更改了端口,这样我就可以从机器上访问它来进行自动备份。在Kitematic中更改端口后,它似乎启动了一个新的MariaDB容器(即,我的所有数据似乎都被删除)。 这是预期的行为吗?而且,更重要的是,是否有任何方

    • 本文向大家介绍jquery mobile页面跳转后样式丢失js失效的解决方法,包括了jquery mobile页面跳转后样式丢失js失效的解决方法的使用技巧和注意事项,需要的朋友参考一下 用ajax跳转的时候,从a.html跳转到b.html后,b.html的css以及js都失效了。 方法: 将当前页面b.html需要用到的css以及js放在<page>div内。 原理: 由于jqm的ajax跳转