js与jQuery实现获取table中的数据并拼成json字符串操作示例


Posted in jQuery onJuly 12, 2018

本文实例讲述了js与jQuery实现获取table中的数据并拼成json字符串操作。分享给大家供大家参考,具体如下:

核心代码如下:

JavaScript代码:

function tabToJSON(id) {
    var trs = document.getElementById(id).getElementsByTagName("tr");//获得tr数组
    var titles = trs[0].getElementsByTagName("td");  //获得表头td数组
    var json = "";
    for(var i = 1; i < trs.length; i++) {
      var tds = trs[i].getElementsByTagName("td");  
      json += "{"; 
      //拼装json
      for(var j = 0; j < tds.length; j++) 
        json += titles[j].innerHTML + ":" + tds[j].innerHTML + ",";
      json = json.substring(0, json.length - 1) + "},";
    }
    json = "[" + json.substring(0, json.length - 1) + "]";
    document.getElementById("test").innerHTML = json;
}

jQuery代码:

function tabToJSONForJquery(id) {
    var titles = $("#" + id).find("tr:first td");  //获得表头td数组
    //遍历非表头的,tr、td...拼装json
    var json = "[" + $("#" + id).find("tr:not(:first)").map(function(i, e) {
      return "{" + $(e).children("td").map(function(j, el) {
        return $(titles[j]).html() + ":" + $(el).html();
      }).get().join(",") + "}";
    }).get().join(",") + "]";
    $("#test").html(json);
}

注:为便于测试,建议jQuery直接使用cdn如:

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

测试HTML部分(table表格与json数据显示部分):

<table id="tbl" border="1">
<tr><td>编号</td><td>年龄</td><td>单元</td><td>房间号</td></tr>
<tr><td>1</td><td>25</td><td>1</td><td>1-2</td></tr>
<tr><td>2</td><td>22</td><td>1</td><td>1-1</td></tr>
<tr><td>3</td><td>21</td><td>3</td><td>3-3</td></tr>
<tr><td>4</td><td>20</td><td>2</td><td>2-2</td></tr>
<tr><td>5</td><td>35</td><td>4</td><td>4-2</td></tr>
</table>
<div id="test"></div>

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试得到json数据为:

[{编号:1,年龄:25,单元:1,房间号:1-2},{编号:2,年龄:22,单元:1,房间号:1-1},{编号:3,年龄:21,单元:3,房间号:3-3},{编号:4,年龄:20,单元:2,房间号:2-2},{编号:5,年龄:35,单元:4,房间号:4-2}]

感兴趣的朋友亲自动手测试一下看看效果如何

jQuery 相关文章推荐
jQuery中的deferred使用方法
Mar 27 jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
jQuery实现动态删除LI的方法
May 30 jQuery
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
jQuery实现checkbox的简单操作
Nov 18 jQuery
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
jQuery分组选择器简单用法示例
Apr 04 jQuery
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 #jQuery
jQuery插件实现弹性运动完整示例
Jul 07 #jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 #jQuery
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 #jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 #jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 #jQuery
jQuery实现表单动态添加与删除数据操作示例
Jul 03 #jQuery
You might like
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
php删除数组元素示例分享
2014/02/17 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
python的依赖管理的实现
2019/05/14 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
私有程序集与共享程序集有什么区别
2013/04/05 面试题
小学见习报告
2015/06/23 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android