实际案例--关于jquery的对象获取和字符串的截取
来源:互联网 发布:jdk源码 编辑:程序博客网 时间:2024/06/12 00:09
一、背景
某个公司的OA管理系统做的数据合计实在不方便,需要手动去计算,相当麻烦,后来打开代码之后,顿时懵逼了!!!
<li> <div class="aBoxWrapper"> <div class="list_name"> <a href="#courseList_detail_section?id=4f1f659c-b225-4731-a1e1-b740aa6b7470" data-target="section" data-para="{"id":"4f1f659c-b225-4731-a1e1-b740aa6b7470"}" data-selected="selected"> <span style="margin-right: 5px;">初一一对一(储值标准)赠送_姓名(科目)</span> <span style="display: inline-block;padding: 0 5px;border: 1px solid #ccc;color: #fff;font-size: 12px;border-radius: 2px;background: #ccc;vertical-align: middle;">校区(一对一)</span> <p style="margin-top: 4px;">教师姓名 <span> 2017-05-01 08:30~10:30 </span> </p> </a> </div> <div class="list_record"> <a href="#courseList_record_section?id=4f1f659c-b225-4731-a1e1-b740aa6b7470" data-target="section" data-para="{"id":"4f1f659c-b225-4731-a1e1-b740aa6b7470"}" data-selected="selected"> 1/1 </a> </div> </div></li>
懵逼了,这个怎么从中拿数据?而且有的课时取消后,还会多一个span标签,醉了;
想法
鉴于实在不会从人家服务器取数据,没有人家的端口啊,只能复制html代码,来实现功能;
既然需要大量方法来获得数据和处理字符串,我想用jquery最好了,储存数据,对象数组的方式来储存
二、步骤
1.获得需要的元素;
获得最根本a标签
var as = $('.list_name>a');
获得年级和时间
var type = $(as[i]).children().eq(1).text();var date = $(as[i]).children('p').children().text();
2.处理字符串
在上面浪费时间最多的就是处理时间的字符串,不光需要获得日期,时间,还需要获取时间差
2017-05-01 08:30~10:30
现为大家介绍几个我封装的函数
//获得时间差函数; function DateMinus(start,end){ var start = new Date(start.replace(/-/g, "/")); var end = new Date(end.replace(/-/g, "/")); var days = end.getTime() - start.getTime(); var hours = parseInt(days / (1000 * 60)); hours = hours/60; return hours; } //处理日期的函数 function dataHandle(date){ date=date.replace('\n',''); date=date.replace(/\s/g,''); var dt = date.slice(0,10); //获得开始时间和结束时间 var start = date.slice(10,15); var end = date.slice(16); //计算时间差 var start2 = dt+" "+start; var end2 = dt+" "+end; var event = DateMinus(start2,end2); //返回对象 return { data : dt, start : start, end :end, event : event } }});
后期获得的就是日期、开始时间,结束时间,之间的时间差;
3、建立对象储存数据
var arr = [];for(var i=0;i<as.length;i++){ var type = $(as[i]).children().eq(1).text(); if(type != '已取消'){ var sumName = $(as[i]).children().eq(0).text(); var name = sliceKey(sumName,"_","(英语)"); var grade = textListen(sumName,"试听"); var date = $(as[i]).children('p').children().text(); var dataArr = dataHandle(date); arr.push({ name : name, grade : grade, type : type, data: dataArr.data, start : dataArr.start, end : dataArr.end, event : dataArr.event }); } } return arr; }
这个是函数的一部分,最后返回新数组,由对象组成,关于sliceKey和textListen函数是处理年级字符串的,比较简单,就没必要给展示了;
4.结尾
获得数据之后,就可以通过模板或者拼接字符串的形式放入到页面中,关于如何获得数据和处理,我是复制ul列表之后,页面中放置一个teatarea标签,粘贴到内部,添加事件即可,具体的就不赘述了,在做的过程中主要是字符串的处理浪费了时间,很有感受,给大家分享一下;
阅读全文
0 0
- 实际案例--关于jquery的对象获取和字符串的截取
- 一个案例讲解获取字符串长度的函数mb_strlen()和字符串截取函数mb_substr()
- 关于字符串的截取
- 关于字符串的截取
- string对象,substr和substing截取的案例。
- 关于javaScript和jQuery获取对象的想法
- jquery 截取字符串的实现
- 关于字符串长度的截取
- 关于字符串截取的函数
- 关于C#字符串的截取
- 关于截取字符串的方式
- 关于字符串的截取问题
- 菜鸟的jquery学习笔记,jquery输入框添加默认值,jquery提交表单,jquery获取字符串长度,并截取字符串
- Java String 字符串截取和获取文件的上级目录
- ListView的实际案例操作和解析
- JQuery获取元素的实际高度
- jquery获取页面图片的实际尺寸
- 关于截取字符串的两个函数CString::Tokenize()和AfxExtractSubString()
- Java注解
- bzoj1797: [Ahoi2009]Mincut 最小割
- 自定义RecyclerView添加下拉刷新和上拉加载功能
- UIPickerView的使用(二)
- 单例模式
- 实际案例--关于jquery的对象获取和字符串的截取
- 数据库设计三大范式全解
- java的枚举用法
- 坐标系旋转变换函数
- UIPickerView的使用(一)
- ttttt
- 关于导入web项目出现"javax.servlet.http.HttpServlet" was not found on the Java Build Path异常
- iOS AutoLayout的用法
- FFMPEG移植到android项目(一)ffmpeg的编译