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实现全选、全不选以及单选功能
Mar 23 jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 13 jQuery
jQuery实现电梯导航模块
Dec 22 jQuery
jquery插件实现悬浮的菜单
Apr 24 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中使用正则表达式进行查找替换
2013/06/13 PHP
php截取字符串函数分享
2015/02/02 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
斜45度寻路实现函数
2009/08/20 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
python网络爬虫采集联想词示例
2014/02/11 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
对pandas处理json数据的方法详解
2019/02/08 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
python使用建议与技巧分享(一)
2020/08/17 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
Java如何格式化日期
2012/08/07 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
妈妈活动方案
2014/08/15 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
结婚保证书
2015/01/16 职场文书
建党伟业电影观后感
2015/06/01 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js
Pytorch 如何实现常用正则化
2021/05/27 Python
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js