jQuery实现本地存储


Posted in jQuery onDecember 22, 2020

用jQuery实现本地存储,供大家参考,具体内容如下

  • 要求:点击提交按钮,让用户输入的内容分别加入到表格对应的列表中
  • 要求:点击每一行的删除按钮,能删除当前行
  • 要求:刷新页面时能保留当前的页面效果(数据状态不会消失)

HTML结构

<div style="margin-bottom: 15px;">
    <input type="text" id="username" placeholder="请输入姓名">
    <input type="text" id="sex" placeholder="请输入性别">
    <input type="text" id="age" placeholder="请输入年龄">
    <input type="button" value="提交" id="btn">
  </div>
  <table border="1" width="540">
    <thead>
      <tr>
        <td>姓名</td>
        <td>性别</td>
        <td>年龄</td>
        <td>操作</td>
      </tr>
    </thead>
    <tbody>


    </tbody>
</table>

初始化数据

// 初始化数据的作用:清空页面存储的内容恢复到原始状态
var arr = [{
      'username': '小红',
      'sex': '女',
      'age': 24
    }, {
      'username': '小蓝',
      'sex': '男',
      'age': 24
    }]
    localStorage.setItem('data', JSON.stringify(arr))

入口函数

$(function () {
//...以下所有代码
}

按钮绑定点击事件

$('#btn').click(function () {
        // var data = getData()
        // 绑定点击事件
        var obj = {
          // 获取输入框中的值
          username: $('#username').val(),
          sex: $('#sex').val(),
          age: $('#age').val()
        }
        // 重新获取数据
        var data = getData()
        // 重新往本地添加数据
        data.push(obj)
        // 存储数据
        setData(data)
        // 渲染到页面
        randerData()

      })

获取本地存储中的数据并把数据转成复杂的数据类型

function getData() {
        // 获取的是字符串类型,获得数据,没有数据返回为空数组
        return JSON.parse(localStorage.getItem('data')) || []
      }

存储data中的数据

function setData(data) {
        // 存储数据并把复杂数据类型转换成字符串类型
        localStorage.setItem('data', JSON.stringify(data))
      }

封装页面渲染函数

function randerData() {
        // 渲染前先清空列表
        $('tbody').empty()
        // 获取数据
        var data = getData()
        // 遍历data里面的对象元素,获取对象元素里面的值
        // item是数组里面的元素
        data.forEach(function (item, i) {
          // 创建tr
          var tr = '<tr><td>' + item.username + '</td><td>' + item.sex + '</td><td>' + item.age + '</td><td><a href="javascript:;" rel="external nofollow" >删除</a></td></tr>'
          // 在主体的末尾中添加tr
          $('tbody').append(tr)
        })
      }
// 页面一打开就开始把本地存储中的数据添加上去
randerData()

用事件委托给每个删除链接绑定点击删除事件

// 不能直接获取a
$('tbody').on('click', 'a', function () {
// 移除它的祖父元素tr
$(this).parents('tr').remove()
 // 重新获取数据
 setData(data)
 // 重新渲染
 randerData()
 })

jQuery实现本地存储

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
关于jquery中attr()和prop()方法的区别
May 28 jQuery
jQuery 操作 HTML 元素和属性的方法
Nov 12 jQuery
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
jQuery HTML设置内容和属性操作实例分析
May 20 jQuery
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
jQuery实现电梯导航模块
Dec 22 #jQuery
jQuery实现tab栏切换效果
Dec 22 #jQuery
jQuery+ajax实现文件上传功能
Dec 22 #jQuery
jQuery实现动态向上滚动
Dec 21 #jQuery
Jquery+javascript实现支付网页数字键盘
Dec 21 #jQuery
jquery实现淡入淡出轮播图效果
Dec 13 #jQuery
jquery实现拖拽小方块效果
Dec 10 #jQuery
You might like
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
零基础学Python(一)Python环境安装
2014/08/20 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
工作评语大全
2014/04/26 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
HTML常用标签超详细整理
2022/03/19 HTML / CSS
mysql数据库如何转移到oracle
2022/12/24 MySQL