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实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
jQuery日期范围选择器附源码下载
May 23 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
jQuery上传插件webupload使用方法
Aug 01 jQuery
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 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
239军机修复记
2021/03/02 无线电
PHP中的extract的作用分析
2008/04/09 PHP
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
javascript 写类方式之六
2009/07/05 Javascript
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
vue实现分页栏效果
2019/06/28 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
2018/03/05 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
Python中请不要再用re.compile了
2019/06/30 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
大学生职业生涯规划书范文
2014/01/04 职场文书
九年级物理教学反思
2014/01/29 职场文书
《学会待客》教学反思
2014/02/22 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
Python一些基本的图像操作和处理总结
2021/06/23 Python