首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jquery动态设置colspan?

如何使用jquery动态设置colspan?
EN

Stack Overflow用户
提问于 2016-03-11 19:50:19
回答 2查看 11.8K关注 0票数 0

嗨,我正在展示时间表。我想将colspan动态添加到包含string Lab的元素中。存储在数据库中的表如下:-

代码语言:javascript
复制
----------------------------------------------------------------------------------
|    Day  | 9-10       | 10-11 | 11-12 | 12- 1| 1-2 |  2-3                |  3-4 |
|---------------------------------------------------------------------------------
| Monday  | DA601     | DA602 | DA603 |      |     | DA602 Lab/DA603 Lab  |      |
| Tuesday | DA601 Lab |       |       |      |     | DA602 Lab/DA603 Lab  |      |
----------------------------------------------------------------------------------

因此,当表格在应用程序中显示时,我希望合并实验室条目,使其以2-3和3-4的形式显示。我想不出一个办法来做这件事。请提供一种使用javascript/jquery或任何其他技术的方法。

表格显示代码:-

代码语言:javascript
复制
<table class="table table-bordered table-xxs">
    <thead>
        <tr class="bg-info-600">
             <th>Day</th>
             <th>9-10</th>
             <th>10-11</th>
             <th>11-12</th>
             <th>12-1</th>
             <th>1-2</th>
             <th>2-3</th>
             <th>3-4</th>
        </tr>
      </thead>

      <tbody>
       <?php 
            $sql="SELECT * FROM tt" ; 
            $results = $timetable->query($sql);
            while($row = $results->fetch_assoc()) 
            {
                echo '<tr>'; 
                echo "<td>{$row['day']}</td>"; 
                echo "<td>{$row['9-10']}</td>"; 
                echo "<td>{$row['10-11']}</td>"; 
                echo "<td>{$row['11-12']}</td>"; 
                echo "<td>{$row['12-1']}</td>"; 
                echo "<td>{$row['1-2']}</td>"; 
                echo "<td>{$row['2-3']}</td>"; 
                echo "<td>{$row['3-4']}</td>"; 
                echo '</tr>';                       
            }
        ?>
      </tbody>
    </table>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-11 20:17:23

您可以尝试如下所示:

代码语言:javascript
复制
$('table tbody tr td').each(function(){
    var value = $(this).html();
    if(value.indexOf("LAB") !== -1){ //true
        $(this).attr("colspan", 2);
        $(this).next("td").remove(); // removes extra td 
    }
});

这将遍历每个<td>。如果在该单元格的HTML内容中找到LAB,则应用属性colspan。并删除为空的下一个单元格。这样做是因为我们只是将当前单元格扩展到两列,而不是覆盖下一个单元格数据,这会创建一个“额外的”td单元格。

JSFiddle

注意:假设实验会话的长度固定为2小时。

票数 2
EN

Stack Overflow用户

发布于 2016-03-11 19:57:36

您可以使用.attr()动态设置colspan

:nth-child(n)选择器选择作为父元素的第n个子元素的所有元素,而不考虑其类型。

代码语言:javascript
复制
$("table tr:nth-child(7)").attr('colspan',2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35939545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档