js與jQuery實(shí)現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作示例
本文實(shí)例講述了js與jQuery實(shí)現(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);
}
注:為便于測(cè)試,建議jQuery直接使用cdn如:
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
測(cè)試HTML部分(table表格與json數(shù)據(jù)顯示部分):
<table id="tbl" border="1"> <tr><td>編號(hào)</td><td>年齡</td><td>單元</td><td>房間號(hào)</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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試得到j(luò)son數(shù)據(jù)為:
[{編號(hào):1,年齡:25,單元:1,房間號(hào):1-2},{編號(hào):2,年齡:22,單元:1,房間號(hào):1-1},{編號(hào):3,年齡:21,單元:3,房間號(hào):3-3},{編號(hào):4,年齡:20,單元:2,房間號(hào):2-2},{編號(hào):5,年齡:35,單元:4,房間號(hào):4-2}]
感興趣的朋友親自動(dòng)手測(cè)試一下看看效果如何
PS:這里再為大家推薦幾款相關(guān)的json在線工具供大家參考:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
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錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
怎么在下面的HTML里調(diào)用數(shù)組cs[]的值
怎么在下面的HTML里調(diào)用數(shù)組cs[]的值...2007-01-01
javascript正則表達(dá)式定義(語(yǔ)法)總結(jié)
這篇文章主要介紹了javascript正則表達(dá)式定義,對(duì)于JavaScript正則表達(dá)式的語(yǔ)法進(jìn)行了總結(jié)分析,需要的朋友可以參考下2016-01-01
JavaScript字符串轉(zhuǎn)數(shù)字的多種方法總結(jié)
在 JavaScript 開(kāi)發(fā)中,我們經(jīng)常需要將字符串轉(zhuǎn)換為數(shù)字,例如從輸入框獲取用戶輸入后進(jìn)行數(shù)學(xué)計(jì)算,JavaScript 提供了多種方法來(lái)實(shí)現(xiàn)這一功能,如 parseInt、parseFloat、Number 等,本文將詳細(xì)介紹這些方法的使用方式、適用場(chǎng)景以及可能的坑,需要的朋友可以參考下2025-03-03
JavaScript實(shí)現(xiàn)的DOM繪制柱狀圖效果示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的DOM繪制柱狀圖效果,涉及javascript數(shù)值計(jì)算及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08
深入淺析javascript立即執(zhí)行函數(shù)
在Javascript中,任何function在執(zhí)行的時(shí)候都會(huì)創(chuàng)建一個(gè)執(zhí)行上下文,因?yàn)闉閒unction聲明的變量和function有可能只在該function內(nèi)部,這個(gè)上下文,在調(diào)用function的時(shí)候,提供了一種簡(jiǎn)單的方式來(lái)創(chuàng)建自由變量或私有子function。2015-10-10
JS來(lái)動(dòng)態(tài)的修改url實(shí)現(xiàn)對(duì)url的增刪查改
通過(guò)get方式提交post表單等方式來(lái)動(dòng)態(tài)修改url存在諸多的不妥,因此,想到了通過(guò)JS來(lái)動(dòng)態(tài)的修改url,來(lái)實(shí)現(xiàn)對(duì)url的增刪查改2014-09-09
JavaScript實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
pc加載更多功能和移動(dòng)端下拉刷新加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了pc加載更多功能和移動(dòng)端下拉刷新加載數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
JS實(shí)現(xiàn)簡(jiǎn)單打字測(cè)試
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單打字測(cè)試,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06

