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)文章
怎么在下面的HTML里調(diào)用數(shù)組cs[]的值
怎么在下面的HTML里調(diào)用數(shù)組cs[]的值...2007-01-01
javascript正則表達(dá)式定義(語法)總結(jié)
這篇文章主要介紹了javascript正則表達(dá)式定義,對于JavaScript正則表達(dá)式的語法進(jìn)行了總結(jié)分析,需要的朋友可以參考下2016-01-01
JavaScript字符串轉(zhuǎn)數(shù)字的多種方法總結(jié)
在 JavaScript 開發(fā)中,我們經(jīng)常需要將字符串轉(zhuǎn)換為數(shù)字,例如從輸入框獲取用戶輸入后進(jìn)行數(shù)學(xué)計算,JavaScript 提供了多種方法來實現(xiàn)這一功能,如 parseInt、parseFloat、Number 等,本文將詳細(xì)介紹這些方法的使用方式、適用場景以及可能的坑,需要的朋友可以參考下2025-03-03
JavaScript實現(xiàn)的DOM繪制柱狀圖效果示例
這篇文章主要介紹了JavaScript實現(xiàn)的DOM繪制柱狀圖效果,涉及javascript數(shù)值計算及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-08-08
深入淺析javascript立即執(zhí)行函數(shù)
在Javascript中,任何function在執(zhí)行的時候都會創(chuàng)建一個執(zhí)行上下文,因為為function聲明的變量和function有可能只在該function內(nèi)部,這個上下文,在調(diào)用function的時候,提供了一種簡單的方式來創(chuàng)建自由變量或私有子function。2015-10-10
JS來動態(tài)的修改url實現(xiàn)對url的增刪查改
通過get方式提交post表單等方式來動態(tài)修改url存在諸多的不妥,因此,想到了通過JS來動態(tài)的修改url,來實現(xiàn)對url的增刪查改2014-09-09
JavaScript實現(xiàn)飛機大戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)飛機大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09

