功能一:点击搜索进行用户输入数据存到本地
1、给btn注册点击事件
2、在事件中,获取用户输入的值
3、获取本地数据(如:searchList为例)
有数据:
1)获取到数据(字符串对象),并转换成真对象 --->数据格式:[1,2,3,.....]
2)把用户输入的值添加到对象中
3)把对象转成字符串对象
4)把字符串对象保存到本地数据中
没有数据
1)定义空数据来保存数据
2)把用户输入的值添加到对象中
3)把对象转成字符串对象
4)把字符串对象保存到本地数据中
功能二:进行本地数据的渲染--->封装成函数
如:function fn(){
1、获取本地数据
2、把本地数据转换成数组
3、使用变量保存li结构----一堆li
4、遍历数组,并拼接li结构
5、输出到指定ul中
}
网页加载时进行调用(有数据才调用)
if(localStorage.getItem('searchList'){
fn()
})
功能三:清空
1、清空本地存储
2、重新渲染
功能四:点击下方li删除相应的搜索记录(事件委派)
方式一:
1、在li上设置自定义属性data-index=""
2、给ul绑定点击事件
3、判断点击的是否为li
4、获取当前li的索引
let index=e.target.dataset['index']
5、删除本地存储中指定的元素(用到数组的splice 方法)
6、将本地存储中的数据重新渲染到页面
方式二:
1、给ul绑定点击事件
2、判断点击的是否为li
3、获取当前li的索引
let li = this.querySelectorAll("li");
index = Array.prototype.indexOf.call(li, e.target);
4、删除本地存储中指定的元素(用到数组的splice 方法)
5、将本地存储中的数据重新渲染到页面
方式一: