• code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.chartTable{
width:100%;
margin-top:10px;
}
.chartTable th,.chartTable td{
text-align: center;
padding:10px 0;
}
.chartTable th{
background-color:#D7D7D7 ;
}
td.company{text-align: left;}
td.haschild .c_title{cursor: pointer;background: url(http://note.youdao.com/yws/public/resource/a5dec28b4c472b42d7126f3a389e3f28/xmlnote/531FC34716824BE5A6ABD0451F9FDBF0/WEBRESOURCE978aa3969c38110736f0c17a178b04b6/7204) no-repeat; background-size: 20px 20px;background-position: center left;}
td.isopen .c_title{cursor: pointer;background: url(http://note.youdao.com/yws/public/resource/a5dec28b4c472b42d7126f3a389e3f28/xmlnote/531FC34716824BE5A6ABD0451F9FDBF0/WEBRESOURCEed4cebea2ccd991c3265d5a7dd90d0e3/7205) no-repeat; background-size: 20px 20px;background-position: center left;}
.c_title{padding-left:20px;margin-top:0;margin-bottom:0;}
.haschild .c_icon{height:20px;width:20px;float:left}
.level_0 .company .c_title{margin-left:0; color:red;}
.level_1{display:none;}
.level_2{display:none;}
.level_3{display:none;}
.level_1 .company .c_title{margin-left:20px;color:blue;}
.level_2 .company .c_title{margin-left:40px;color:green;}
.level_3 .company .c_title{margin-left:60px;color:#ccc;}
</style>
</head>
<body>
<table class="chartTable" border="1" id="chartTable">
<tr>
<th rowspan="3">销售企业</th>
<th colspan="6">工业(吨)</th>
</tr>
<tr>
<th colspan="2">岩石</th>
<th colspan="2">岩石</th>
<th colspan="2">合计</th>
</tr>
<tr>
<th>数量</th>
<th>比重</th>
<th>数量</th>
<th>比重</th>
<th>数量</th>
<th>比重</th>
</tr>
<tr class="level_0">
<td class="company haschild"><p class="c_title">明华公司0</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_1">
<td class="company haschild"><p class="c_title"><p class="c_title">明华公司01</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_2">
<td class="company haschild"><p class="c_title"><p class="c_title">明华公司0101</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_3">
<td class="company"><p class="c_title"><p class="c_title">明华公司011111111101</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_1">
<td class="company"><p class="c_title"><p class="c_title">明华公司02</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class=" level_0">
<td class="company"><p class="c_title">明华公司1</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_0">
<td class="company haschild"><p class="c_title">明华公司0</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_1">
<td class="company haschild"><p class="c_title"><p class="c_title">明华公司01</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_2">
<td class="company"><p class="c_title"><p class="c_title">明华公司0101</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_1">
<td class="company"><p class="c_title"><p class="c_title">明华公司02</p></td>
<td>100</td>
<td>50%</td>
<td>100</td>
<td>50%</td>
<td>200</td>
<td>33.333%</td>
</tr>
<tr class="level_0">
<td>合计</td>
<td>300</td>
<td>50%</td>
<td>300</td>
<td>50%</td>
<td>600</td>
<td>100%</td>
</tr>
</table>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
$(".haschild").click(function(){
console.log(this);
var cls = $(this).parent().attr("class");
var childClassName = cls.substring(0,6)+(parseInt(cls.substring(6,7))+1);
var arr = $(this).parent().nextUntil('.'+cls); if($(this).attr("class").indexOf("isopen")>=0){//关闭
$(this).removeClass("isopen");
$(arr).each(function(index,element){
$(element).find(".company").removeClass("isopen");
$(element).hide();
})
}else{//打开
$(this).addClass("isopen");
$(arr).each(function(index,element){
if($(element).attr("class")==childClassName){
$(element).show();
}
})
} });
</script>
</body>
</html>
  • effects

折叠table中的tr的更多相关文章

  1. jQuery遍历table中的tr td并获取td中的值

    jQuery遍历table中的tr td并获取td中的值 $(function(){ $("#tableId tr").find("td").each(func ...

  2. [转]table中设置tr行间距

    原文地址:https://blog.csdn.net/itmyhome1990/article/details/50475616 CSS border-collapse 属性设置表格的边框是否被合并为 ...

  3. table 中的tr 行点击 变换颜色背景

    <style> table{border-collapse: collapse;border-spacing: 0; width: 100%;} table tr th,td{border ...

  4. table中设置tr行间距

    CSS border-collapse 属性设置表格的边框是否被合并为一个单一的边框 值 描述 separate 默认值.边框会被分开.不会忽略 border-spacing 和 empty-cell ...

  5. table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)

    table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐): 并且在tr中对起设定padding是有用的,可 ...

  6. 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

    http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...

  7. js的传值,table中tr的遍历,js中动态创建数组

    1.这里关键是对页面中的传值,其次是动态的创建一个数组,用来存值 $(val).css("background-color", "rgb(251, 248, 233)&q ...

  8. vb.net 使用 Regex Replace 正则 替换 Html字串的table中tbody第一个tr下的td为th

    本次示例效果如下: TextBox1中输入如下字符串: 12<table><tbody><tr><td>1<br/>11</td> ...

  9. table中tr使用toggle不好,选择换一张方式

    好几次遇到的问题,都是table中tr后面有一部分内容要显示,也是用tr装的,但是需要点击该行,后面那个tr才显示出来.不过最好不要用toggle去写,因为着实效果不佳.故而建议换一种方式,也许最简单 ...

随机推荐

  1. Oracle HR 例子用户的建立 10g,11g均可

    Oracle HR 例子用户的建立 10g,11g均可 先将附件(见文章尾部)上的 10 个 .sql 文件放入这个路径中 : $ORACLE_HOME/demo/schema/human_resou ...

  2. Android学习笔记进阶19 之给图片加边框

    //设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...

  3. js -- fileData 实现文件断点续传

    前端实现文件的断点续传 一.一些知识准备 断点续传,既然有断,那就应该有文件分割的过程,一段一段的传. 以前文件无法分割,但随着HTML5新特性的引入,类似普通字符串.数组的分割,我们可以可以使用sl ...

  4. vue 打包成 apk 文件(修改路径)

    第一个坑:文件引用路径 现在项目我们什么都没动,是初始化之后直接打包的状态,打开dist/index.htmnl文件整个网页都是一片空白的. 爬坑: 打开 config文件夹/index.js文件 a ...

  5. 3.索引与string进行映射实现高效查找

    #include <iostream> #include <typeindex>//类型索引 #include <unordered_map>//红黑树 #incl ...

  6. noi2019模拟测试赛(四十七)

    noi2019模拟测试赛(四十七) T1与运算(and) 题意: ​ 给你一个序列\(a_i\),定义\(f_i=a_1\&a_2\&\cdots\&a_i\),求这个序列的所 ...

  7. 【Django】Form组件

    目录 Form组件介绍 常用字段与插件 Form组件中所有内置字段 从数据库中获取数据 校验示例 检验手机号是否合法 方式一(基本操作) 方式二(自定义验证规则) 方式三(利用钩子) 验证密码一致性 ...

  8. .Net 开源控件 NPlot使用小结

    NPlot是一款非常难得的.Net平台下的图表控件,能做各种曲线图,柱状图,饼图,散点图,股票图等,而且它免费又开源,使用起来也非常符合程序员的习惯.授权方式为BSD许可证. 下载链接: http:/ ...

  9. TextView-显示自己添加的字体样式

    1.首先要把我们的字体放到相应的目录下 如果我们仅仅是想要验证一个字体,我们可以直接 我们的字体push到 手机 /system/fonts/ 目录下面 2.在代码中进行设置 import andro ...

  10. IAR FOR STM8 学习笔记 固件库 GPIO

    经过一番挣扎,还是决定使用官方的固件库了.. 从网上下一个STM8S的固件库,记得是FOR IAR的. 找到里面的IAR模板就可以开始用了. 这些都是直接写好的库函数,可以直接调用,但首先得先读懂,先 ...