jquery作业

news/2024/7/4 13:21:13
1. 通过jquery动态的创建一个表格,随机生成(id自增,name随机2-3个中文汉字(10个姓,20个名字),age随机100以内整数)大于50小于100行的数据(用户对象:id,name,age),
2. 每行分4列,第一列显示checkbox,第二列显示用户名,第三列显示年龄,第四列显示删除操作,点击删除按钮可以把这行数据删掉
3. 区分基数行和偶数行背景色
4. 把所有年龄超过60岁的行字号 + 10px
5. 统计出平均年龄(jquery方法)
6. 把姓氏最多的行边框变成蓝色
7. 随机删除10行数据
8. 把第二列和第三列调换位置
9. 取出第5-10行每行的用户名和年龄,姓名去重,年龄求和

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>jQuery动态创建表格案例</title>
  6         <style>
  7         table {
  8             border-collapse: collapse;
  9         }
 10 
 11         table td {
 12             width: 100px;
 13         }
 14 
 15         .blueBorder {
 16             border:1px solid blue;
 17         }
 18     </style>
 19     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
 20     <script>
 21  
 22         //button实现
 23             var aaa=function(){
 24                         $("#btn").click(function(){
 25                         alert(calavgavgage())
 26                                     $("#avgall").append(calavgavgage());});
 27                     }
 28             var bbb=function(){
 29                         $("#btn2").click(function(){
 30                                 onclickname2many();
 31                                 $("#name2many").append(onclickname2many());
 32                                 alert(onclickname2many());});
 33                     }
 34  
 35             var ccc=function(){
 36                 $("#btn3").click(function(){
 37                             changecolumn();});
 38             }
 39  
 40             var ddd=function(){
 41                 $("#btn4").click(function(){
 42                             deleterandrow();
 43                             evenodd();});
 44             }
 45  
 46             var eee=function(){
 47                 $("#btn5").click(function(){
 48                             row5to10();
 49                           alert(row5to10())
 50                           $("#all_name").append(row5to10());
 51                         });
 52             }
 53  
 54         var lastname = ["赵","钱","孙","李","周","吴","郑","王","陈","孔"];
 55         var firstname = ["一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十"];
 56         //var age=Math.floor(Math.random()*100);
 57         //var name=lastname[Math.floor(Math.random()*10)]+firstname[Math.floor(Math.random()*20)];
 58         var linenum=Math.floor(Math.random()*50)+50;
 59  
 60         //奇数偶数行的背景色
 61         var evenodd= function(){
 62             $("#J_TbData tr:even").css("background-color","#f7c10d");
 63             $("#J_TbData tr:odd").css("background-color","#845bb9");
 64         }
 65  
 66         //将checkbox点击了进行隐藏
 67         var checkbox1=function(){
 68             $(":checkbox").click(function(){
 69             //$(this).parent().hide();
 70             $(this).css("background-color","#FF3700");
 71             $(":checkbox:checked").parent().parent().fadeOut(400, function(){
 72                 $(this).hide();
 73                             });
 74                 evenodd();
 75                 return;
 76           });
 77         }
 78         //点击每行的删除按钮后进行整行的删除
 79            var button1=function(){
 80             $(":button[id='deletebutton']").click(function(){
 81             $(this).parent().parent().remove();
 82             evenodd();
 83             return;
 84           });
 85         }
 86  
 87         //年龄大于60岁的人,整行加像素
 88             var yearold=function(){
 89             $("#J_TbData tr").each(function(){
 90                 $tr = $(this);
 91                 $td = $(">td:eq(2)",$tr);
 92                 //console.log($td.text());
 93                 if($.trim($td.text())>"60"){
 94                 $tr.css("font-size", function(index, value){
 95                 //console.log(index, value);
 96                 return parseInt(value) + 10 + 'px';
 97                 });
 98                 }
 99                 })
100                 }
101  
102          
103  
104             //计算表中的平均年龄 逻辑
105             var calavgavgage=function(avgage){
106             var total=0;
107             $("#J_TbData tr").each(function(){
108                             $tr = $(this);
109                             $td = $(">td:eq(2)",$tr);
110                             total +=parseInt($td.text());})
111             var avgage=total/$("#J_TbData tr").length;
112             return "页面上所有人的平均年龄是"+avgage;
113         }
114  
115         //只会用这种复杂的方式计算出出现最多的元素
116         function findMost(arr){
117             var tempObj = {};
118             for (var i = arr.length - 1; i >= 0; i--) {
119                 if (tempObj[arr[i]]) { // 得到元素出现的次数,并组成obj
120                     tempObj[arr[i]] = tempObj[arr[i]] + 1;
121                 } else {
122                     tempObj[arr[i]] = 1;
123                 }
124             }
125             var mostVal;
126             for (var key in tempObj) { // 从对象中得到数组中出现最多的元素
127                 if (!mostVal) {
128                     mostVal = key;
129                 } else if (tempObj[mostVal] < tempObj[key]) {
130                     mostVal = key;
131                 }
132  
133             }
134             return mostVal;
135             }
136          
137         //出现最多的姓氏
138             function onclickname2many(){
139             var arrayname= [];
140             $("#J_TbData tr").each(function(){
141                             $tr = $(this);
142                             $td = $(">td:eq(1)",$tr);
143                             arrayname.push($td.text().charAt(0));
144                         })
145             var lastname=findMost(arrayname);//找出最多的姓氏
146              
147             $("#J_TbData tr").each(function(){
148                 $tr = $(this);
149                 $td = $(">td:eq(1)",$tr);
150                 if($td.text().charAt(0)==lastname){
151                 //$tr.css("border","blue");
152                 $tr.addClass('blueBorder')
153                 };})
154             return "数组中出现最多的姓氏是"+lastname;
155         }
156  
157         //将第二行和第三行对调
158         function changecolumn(){
159             $("#J_TbData tr").each(function(){
160                             $tr = $(this);
161                             $tdcolumn2 = $(">td:eq(1)",$tr);
162                             $tdcolumn3 = $(">td:eq(2)",$tr);
163                         $tdcolumn2.insertAfter($tdcolumn3);
164                         })
165         }
166         //随机删除方法
167         function deleterandrow(){
168                 for(var i=0;i<10;i++){
169                     var table_length=$("#J_TbData tr").size();
170                     var rownum=Math.floor(Math.random()*table_length);
171                     $("#J_TbData tr")[rownum].remove();
172                         }  
173                                 }
174         //取出第5行到第10行到姓名和年龄
175         function row5to10(){
176             var rowname=[];
177             var rowage=[];
178                 for(var i=4;i<10;i++){
179                    rowname.push($(">td:eq(1)",$("#J_TbData tr")[i]).html());
180                    rowage.push(parseInt($(">td:eq(2)",$("#J_TbData tr")[i]).text()));
181                                 }
182             var unique_nanme=$.unique(rowname);
183             var total_age=eval(rowage.join("+"));
184             return "第5行到第10行的姓名是"+rowname +"去重之后还剩下的name"+unique_nanme+"第5行到第10行的年龄是"+rowage+"求和之后的年龄是"+total_age;
185                     }
186  
187                 //生成随机的行数
188         function create(){
189             for( var i = 0; i < linenum; i++ ) {
190                 //动态创建一个tr行标签,并且转换成jQuery对象
191                 var $trTemp = $("<tr></tr>");
192                 //往行里面追加 td单元格
193                 $trTemp.append("<td class='column1'>"+ "<input type='checkbox' id='linenum'>"+(i+1)+"</td>");
194                 $trTemp.append("<td class='column2'>"+ lastname[Math.floor(Math.random()*10)]+firstname[Math.floor(Math.random()*20)]+"</td>");
195                 $trTemp.append("<td class='column3'>"+ "<span id='age'>"+(Math.floor(Math.random()*100)+1) +"</span>"+"</td>");
196                 $trTemp.append("<td class='column4'>"+ "<input type='button' id='deletebutton' value='点我删除'>" +"</td>");
197                 $trTemp.appendTo("#J_TbData");
198             }
199         }
200  
201         //all
202         $(function(){
203              
204             create();
205             evenodd();
206             checkbox1();
207             button1();
208             yearold();
209             calavgavgage();
210             aaa();
211             bbb();
212             ccc();
213             ddd();
214             eee();
215              
216             });
217  
218     </script>
219 </head>
220 <body>
221 <input id="btn" type="button" value='点我统计出平均年龄' /></br>
222 <p id="avgall"></p>
223 <input id="btn2" type="button" value='点我把姓氏最多的行边框变成蓝色' /></br>
224 <p id="name2many"></p>
225 <input id="btn3" type="button" value='点我把第二列和第三列调换位置' /></br>
226 <input id="btn4" type="button" value='点我随机删除10行数据' /></br>
227 <input id="btn5" type="button" value='点我取出第5-10行每行的用户名和年龄,姓名去重,年龄求和' /></br>
228 <p id="all_name"></p>
229  
230  
231     <table>
232         <thead>
233             <tr>
234                 <th>Box</th>
235                 <th>用户姓名</th>
236                 <th>用户年龄</th>
237                 <th>操作说明</th>
238             </tr>
239         </thead>
240         <tbody id="J_TbData">
241         </tbody>
242     </table>
243  
244   
245      
246 </body>
247 </html>

 

转载于:https://www.cnblogs.com/qianjinyan/p/8961086.html


http://www.niftyadmin.cn/n/1934963.html

相关文章

二次冲刺站立会议八

今天我们找到了音乐素材&#xff08;徐梦圆 - christmas&#xff09;&#xff0c;并添加在了我们的游戏中。我添加音乐。 代码如下 SoundPlayer s new SoundPlayer("C:\Users\lenovo\Desktop\趣拼图\音乐\徐梦圆 - christmas.wav"); 转载于:https://www.cnblogs.com…

消息队列之kafka(基础介绍)

一、关于JMS 1. JMS 的基础 JMS是Java提供的一套技术规范。即Java消息服务&#xff08;Java message service&#xff09;。应用程序接口。是一个Java平台中关于面向消息中间件的API。用于在两个应用程序之间或者分布式系统中发送消息&#xff0c;进行异步通信。Java消息服务是…

如何快速打造一款高清又极速的短视频APP?

2019独角兽企业重金招聘Python工程师标准>>> 整个短视频的市场规模一直在增长&#xff0c;网络数据显示2018年已经突破100亿大关&#xff0c;在2019年预测将超过200亿。纵观行业&#xff0c;在生活资讯、美食、搞笑、游戏、美妆等领域&#xff0c;短视频流量巨大但竞…

Java中监控文件变化的多种方案

一、使用Apache.Common.io库 package yungoal.huafeng.utils.files;import com.sun.deploy.util.SyncFileAccess; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationMonitor; import org.apache.comm…

安卓凹凸自定义View

这个是产品的效果图然后实际运行的结果那到这个需求感觉还是很简单的&#xff0c;让美术出了一张图&#xff0c;然后我把这个背景图做成了.9图&#xff0c;然而&#xff0c;并没有什么卵用&#xff0c;最大的原因就是background被拉伸、挤压&#xff0c;高度在不同的机型显示的…

网站一直优化不动,是不是被惩罚?

SEO是一个千变万化的工作&#xff0c;你的每一个优化策略&#xff0c;都决定网站不同的走向&#xff0c;在很长一段时期中&#xff0c;我们通常会遇到各种问题&#xff0c;比如&#xff1a;网站一直优化不动。 长期停留在某个阶段&#xff0c;这让SEO人员&#xff0c;显得无所…

leetcode算法题解(Java版)-2-最长回文子串

一、int数字反转 题目描述Reverse digits of an integer. Example1: x 123, return 321Example2: x -123, return -321 思路&#xff1a; 题目很简单&#xff0c;需要注意的是&#xff1a;int型是32位的。1000000003 反转后就超了&#xff01;所以需要包装类Integer中的最大值…

浅谈 串行信号 转换成 并行信号 原理

注 &#xff1a; 文中讲述的原理是推理和探讨 &#xff0c; 和现实中的实现不一定完全相同 。 开始之前&#xff0c; 可以先参考看看我之前写的两篇文章 &#xff1a; 《设计一个 硬件 实现的 Dictionary&#xff08;字典&#xff09;》 https://www.cnblogs.com/KSongKing/p…