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 ajax请求struts action实现异步刷新
Apr 19 jQuery
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
JQuery特殊效果和链式调用操作示例
May 13 jQuery
js/jQuery实现全选效果
Jun 17 jQuery
jQuery中DOM常见操作实例小结
Aug 01 jQuery
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
jquery实现上传文件进度条
Mar 26 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
jQuery实现动态操作table行
Nov 23 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
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
PHP发送短信代码分享
2015/08/11 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
js 内存释放问题
2010/04/25 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
javascript每日必学之多态
2016/02/23 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
Three.js学习之网格
2016/08/10 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
node后端服务保活的实现
2019/11/10 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
Python 在函数上添加包装器
2020/07/28 Python
Python函数调用追踪实现代码
2020/11/27 Python
幼儿园教研活动方案
2014/01/19 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
2014年度思想工作总结
2014/11/27 职场文书
机动车交通事故协议书
2015/01/29 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL
redis中lua脚本使用教程
2021/11/01 Redis
ant design vue的form表单取值方法
2022/06/01 Vue.js