折叠table中的tr
- 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的更多相关文章
- jQuery遍历table中的tr td并获取td中的值
jQuery遍历table中的tr td并获取td中的值 $(function(){ $("#tableId tr").find("td").each(func ...
- [转]table中设置tr行间距
原文地址:https://blog.csdn.net/itmyhome1990/article/details/50475616 CSS border-collapse 属性设置表格的边框是否被合并为 ...
- table 中的tr 行点击 变换颜色背景
<style> table{border-collapse: collapse;border-spacing: 0; width: 100%;} table tr th,td{border ...
- table中设置tr行间距
CSS border-collapse 属性设置表格的边框是否被合并为一个单一的边框 值 描述 separate 默认值.边框会被分开.不会忽略 border-spacing 和 empty-cell ...
- table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)
table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐): 并且在tr中对起设定padding是有用的,可 ...
- 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中
http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...
- js的传值,table中tr的遍历,js中动态创建数组
1.这里关键是对页面中的传值,其次是动态的创建一个数组,用来存值 $(val).css("background-color", "rgb(251, 248, 233)&q ...
- vb.net 使用 Regex Replace 正则 替换 Html字串的table中tbody第一个tr下的td为th
本次示例效果如下: TextBox1中输入如下字符串: 12<table><tbody><tr><td>1<br/>11</td> ...
- table中tr使用toggle不好,选择换一张方式
好几次遇到的问题,都是table中tr后面有一部分内容要显示,也是用tr装的,但是需要点击该行,后面那个tr才显示出来.不过最好不要用toggle去写,因为着实效果不佳.故而建议换一种方式,也许最简单 ...
随机推荐
- 关于vuex的项目中数据流动方式
vue的核心是数据驱动,所有数据变更的时机很重要,也就是watch的内容,一般是数据逻辑的操作.在使用vuex的项目中,我们在vuex中只是发请求.拿数据,在视图中来进行逻辑的操作.数据的更新. 1. ...
- mysql 数据库 存储数据类型
int 类型的数据 可以在数据库里存成 char字符串类型的数据: 纯数字的字符串 可以在数据库里存储为 int的数据类型.
- STM32之串口IAP更新升级
一.IAP简介 IAP是应用编程,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级,后续产品发布后,更新程序我只需要把.bin文件通过串口发送给芯片就可以执行更 新,很方 ...
- POJ——T 3461 Oulipo
http://poj.org/problem?id=3461 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 42698 ...
- Android 上的 制表符(tab) —— 一个奇妙的字符 (二)
接到上回的说,主要是上回那个问题,我认为是android的bug,黎叔认为是cocos2dx的bug,叫我去提交bug.所以我又继续研究了下. 上回说到会调用java层的函数去创建一个image,然后 ...
- CSS3:元素的边框、背景和大小
边框 和边框相关的属性例如以下. border-width 用于设置边框的宽度,可选择包含: 1)<长度值>:将边框宽度设为以CSS度量单位(如em.px.cm)表达的长度值. 2)< ...
- [NOIP2013]车站分级 解题报告
妈蛋这道普及组水(神)题搞了我非常久. 一. 首先一个非常显然的事情就是每一个火车告诉了站与站之间的等级关系,所以拓扑求最长路. 可是发现暴力建边的话最坏能够达到500*500,所以时间复杂度有O(M ...
- python实现获取文件列表中每一个文件keyword
功能描写叙述: 获取某个路径下的全部文件,提取出每一个文件里出现频率最高的前300个字.保存在数据库其中. 前提.你须要配置好nltk #!/usr/bin/python #coding=utf-8 ...
- Linux库文件路径的添加
库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用 ...
- [Vue + TS] Create Type-Safe Vue Directives in TypeScript
Directives allow us to apply DOM manipulations as side effects. We’ll show you how you can create yo ...