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列表检索功能实现代码
Jul 17 jQuery
简单实现jQuery轮播效果
Aug 18 jQuery
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
9种方法优化jQuery代码详解
Feb 04 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 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学习之 数组声明
2011/06/09 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
c++生成dll使用python调用dll的方法
2014/01/20 Python
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
python图像处理之反色实现方法
2015/05/30 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
python 实现倒排索引的方法
2018/12/25 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
十八届三中全会个人学习材料
2014/02/13 职场文书
公证书样本
2014/04/10 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
新手上路标语
2014/06/20 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers