js與jQuery實現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作示例
本文實例講述了js與jQuery實現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作。分享給大家供大家參考,具體如下:
核心代碼如下:
JavaScript代碼:
function tabToJSON(id) { var trs = document.getElementById(id).getElementsByTagName("tr");//獲得tr數(shù)組 var titles = trs[0].getElementsByTagName("td"); //獲得表頭td數(shù)組 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數(shù)組 //遍歷非表頭的,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數(shù)據(jù)顯示部分):
<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.jb51.net/code/HtmlJsRun測試得到j(luò)son數(shù)據(jù)為:
[{編號: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}]
感興趣的朋友親自動手測試一下看看效果如何
PS:這里再為大家推薦幾款相關(guān)的json在線工具供大家參考:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
微信小程序wx.getUserInfo授權(quán)獲取用戶信息(頭像、昵稱)的實現(xiàn)
這篇文章主要介紹了微信小程序wx.getUserInfo授權(quán)獲取用戶信息(頭像、昵稱)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08詳解Javacript和AngularJS中的Promises
這篇文章主要介紹了詳解Javacript和AngularJS中的Promises的相關(guān)資料,promise是Javascript異步編程很好的解決方案。,需要的朋友可以參考下2016-02-02JavaScript實現(xiàn)twitter puddles算法實例
這篇文章主要介紹了JavaScript實現(xiàn)twitter puddles算法實例,本文源自twitter的一道面試題,本文使用js解開了這首題,需要的朋友可以參考下2014-12-12uniapp組件傳值的方法(父傳子,子傳父,對象傳值)實戰(zhàn)案例
現(xiàn)在的前端開發(fā)中基本上都是組件化開發(fā)的,下面這篇文章主要給大家介紹了關(guān)于uniapp組件傳值(父傳子,子傳父,對象傳值)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03