博客
关于我
百度前端技术学院task16源代码
阅读量:418 次
发布时间:2019-03-06

本文共 2075 字,大约阅读时间需要 6 分钟。

欢迎访问我的github:

做这道题目的时候遇到了很多困难。

1、怎么给空对象添加数据,愣是不知道从哪里下手;遍历对象,一个个输出操作;

2、中英文的正则表达式不知道,赶紧去百度;

3、在正则判断过程中,没有添加return,导致后面出现一系列异常。添加return之后,后面的函数不会继续运行,整个函数体提前结束,再重新开始;

4、条件运算符的?打成中文状态下的问号。也因为之前没有添加return,导致这里产生了错误。

5、就是怎么绑定事件动态删除一行数据。

6、js中call的用法以及自定义的data-city,用的时候是dataset.city;

index.html

      
IFE JavaScript Task 01

task2.16.js

/** * aqiData,存储用户输入的空气指数数据 * 示例格式: * aqiData = { *    "北京": 90, *    "上海": 40 * }; */  var aqiData = {};//创建一个对象  var city=document.getElementById('aqi-city-input');  var cvalue=document.getElementById('aqi-value-input');/** * 从用户输入中获取数据,向aqiData中增加一条数据 * 然后渲染aqi-list列表,增加新增的数据 */function addAqiData() {  city = city.value.trim();    cvalue= cvalue.value.trim();    if (!city.match(/^[A-Za-z\u4E00-\u9FA5]+$/)){        alert("城市名必须为中英文字符,请重新输入")        return;    }    if(!cvalue.match(/^\d+$/)){      alert("空气质量指数必须为整数,请重新输入");      return;    }    aqiData[city]=cvalue;}/** * 渲染aqi-table表格 */function renderAqiList() {  var aqiTable=document.getElementById('aqi-table');  var tr1="";  var tr="城市空气质量操作";  for (var i in  aqiData){    if ( aqiData.hasOwnProperty(i)){       tr1= tr1+""+i+""+aqiData[i]+"";        //要给删除按钮添加类,否则删除的时候就不好删除;先加单引号在双引号。    }  }  tr=tr+tr1;   aqiTable.innerHTML=i ? tr : "" ;//这里需要给个判断,不然每次调用这个函数都会有最上面一行。}/** * 点击add-btn时的处理逻辑 * 获取用户输入,更新数据,并进行页面呈现的更新 */function addBtnHandle() {      addAqiData();    renderAqiList();}/** * 点击各个删除按钮的时候的处理逻辑 * 获取哪个城市数据被删,删除数据,更新表格显示 */function delBtnHandle() {  // do sth.  delete aqiData[city];//删除该对象之后,下一步就会重新运行renderAqiList,数据就会消失不见了  renderAqiList();}function init() {  // 在这下面给add-btn绑定一个点击事件,点击时触发addBtnHandle函数  // 想办法给aqi-table中的所有删除按钮绑定事件,触发delBtnHandle函数  var addBtn=document.getElementById('add-btn');  addBtn.addEventListener('click',addBtnHandle,false);  document.getElementById("aqi-table").addEventListener("click", function(event){        if(event.target.nodeName.toLowerCase() === 'button') delBtnHandle.call(null, event.target.dataset.city);    })}init();

 

转载地址:http://ivmuz.baihongyu.com/

你可能感兴趣的文章
Java内存模型(JMM)
查看>>
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
查看>>
SpringCloud微服务(03):Hystrix组件,实现服务熔断
查看>>
Spring 框架基础(01):核心组件总结,基础环境搭建
查看>>
云计算之路-阿里云上:0:25~0:40网络存储故障造成网站不能正常访问
查看>>
网站故障公告1:使用阿里云RDS之后一个让人欲哭无泪的下午
查看>>
上周热点回顾(8.12-8.18)
查看>>
蹒跚来迟:新版博客后台上线公测
查看>>
[网站公告]又拍云API故障造成图片无法上传(已恢复)
查看>>
上周热点回顾(6.9-6.15)
查看>>
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
查看>>
上周热点回顾(7.27-8.2)
查看>>
上周热点回顾(5.9-5.15)
查看>>
上周热点回顾(1.16-1.22)
查看>>
上周热点回顾(1.23-1.29)
查看>>
云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发的故障
查看>>
云计算之路-阿里云上:博客web服务器轮番CPU 100%
查看>>
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
惊闻NBC在奥运后放弃使用Silverlight
查看>>
创建自己的Docker基础镜像
查看>>