练习目标:
技术简介:
- js外部引入
- 顺序结构
- jQuery Dom操作
- JavaScrip循环技巧
- JavaScrip数据操作
资源地址:
链接:https://pan.baidu.com/s/1VZMGTKj3Aq9Zn6mtee0egw
提取码:1111
关键字:
1、append(),像元素内添加
2、border-spacing,设置table的内边距与外边距,常设为border-spacing: 0 0
3、confirm(),JavaScript的确认函数
4、splice,删除集合元素操作,参数1是下标值,参数2删除数量
评分标准:
1、创建项目层级(5分)
2、正确引入jquery-3.4.1.min.js(5分)
3、正确引入info.js初始数据(5分)
4、正确引入自定义js文件(5分)
5、按照顺序结构正确引入3个js文件(5分)
6、数据初始化(5分)
7、创建初始化函数(5分)
8、清空body标签内容(5分)
9、创建带有id的table标签,设置边框的宽度为1,并通过jQuery的append函数添加到body标签中(5分)
10、根据table标签自定义id名称获取table标签的jQuery对象(5分)
11、通过append函数添加遍历的info.js中list变量的数据。(20分)
12、通过jQuery的dom操作为table标签添加宽度属性为100%与文字居中(5分)
13、通过jQuery的dom操作为table标签设置table的内外边距为0。(5分)
14、创建一个带参的delById函数,根据info.js中的数据格式进行正确接收数据。(5分)
15、通过confirm函数来判断是否删除操作,如果不删除则直接return停止(5分)
16、通过循环遍历info.js中的对象信息来判断选中的行,如果对应的信息匹配则删除当前行信息。(5分)
17、删除完成后需要再次调用into函数进行数据重新遍历。(5分)
1、创建项目层级(5分)
2、正确引入jquery-3.4.1.min.js(5分)
3、正确引入info.js初始数据(5分)
4、正确引入自定义js文件(5分)
5、按照顺序结构正确引入3个js文件(5分)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>jQuery数据处理</title> </head> <body> <!-- 2、引入jQuery.js --> <script src="js/jquery-3.4.1.min.js"></script> <!-- 3、引入提供的初始数据 --> <script src="js/info.js"></script> <!-- 4、自定义的js文件进行数据操作 --> <script src="js/index.js"></script> </body> </html>
6、数据初始化(5分)
// 初始加载 init();
7、创建初始化函数(5分)
// 初始化函数 function init() { }
8、清空body标签内容(5分)
$("body").html("");
9、创建带有id的table标签,设置边框的宽度为1,并通过jQuery的append函数添加到body标签中(5分)
$("body").append("<table id='show_table' border=1></table>");
10、根据table标签自定义id名称获取table标签的jQuery对象(5分)
$("#show_table")
11、通过append函数添加遍历的info.js中list变量的数据。(20分)
$("#show_table").append(function () { var info = ""; list.forEach((el) => { info += "<tr>"; info += "<td>" + el.id + "</td>"; info += "<td>" + el.createDate + "</td>"; info += "<td>" + el.userName + "</td>"; info += "<td>" + el.sex + "</td>"; info += "<td>" + el.introduce + "</td>"; info += "<td>" + el.ctrl + "</td>"; info += "</tr>"; }); return info; });
12、通过jQuery的dom操作为table标签添加宽度属性为100%与文字居中(5分)
13、通过jQuery的dom操作为table标签设置table的内外边距为0。(5分)
$("#show_table").css({ width: "100%", "text-align": "center", "border-spacing": "0 0", });
14、创建一个带参的delById函数,根据info.js中的数据格式进行正确接收数据。(5分)
function delById(o) { }
15、通过confirm函数来判断是否删除操作,如果不删除则直接return停止(5分)
if(!confirm('是否删除此行?')){ return; }
16、通过循环遍历info.js中的对象信息来判断选中的行,如果对应的信息匹配则删除当前行信息。(5分)
for (let i = 0; i < list.length; i++) { if(list[i].id==o){ list.splice(i,1); break; } }
17、删除完成后需要再次调用into函数进行数据重新遍历。(5分)
function delById(o) { if(!confirm('是否删除此行?')){ return; } for (let i = 0; i < list.length; i++) { if(list[i].id==o){ list.splice(i,1); break; } } init();//重新加载 }
完整代码示例:
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>jQuery数据处理</title> </head> <body> <!-- 引入jQuery.js --> <script src="js/jquery-3.4.1.min.js"></script> <!-- 引入提供的初始数据 --> <script src="js/info.js"></script> <!-- 自定义的js文件进行数据操作 --> <script src="js/index.js"></script> </body> </html>
index.js
// 初始加载 init(); // 初始化函数 function init() { $("body").html(""); $("body").append("<table id='show_table' border=1></table>"); $("#show_table").append(function () { var info = ""; list.forEach((el) => { info += "<tr>"; info += "<td>" + el.id + "</td>"; info += "<td>" + el.createDate + "</td>"; info += "<td>" + el.userName + "</td>"; info += "<td>" + el.sex + "</td>"; info += "<td>" + el.introduce + "</td>"; info += "<td>" + el.ctrl + "</td>"; info += "</tr>"; }); return info; }); $("#show_table").css({ width: "100%", "text-align": "center", "border-spacing": "0 0", }); } function delById(o) { if(!confirm('是否删除此行?')){ return; } for (let i = 0; i < list.length; i++) { if(list[i].id==o){ list.splice(i,1); break; } } init();//重新加载 }
练习的时候自己多写点注释,方便记忆。