今天踩坑了,在這裏記一下。javascript
我想作一個列表,開始是一個一個複製粘貼,而後發現這樣太不靈活了,若是我有更多內容要填難道還要再一個一個複製嗎?css
因此我想到直接用JS動態生成最好,個人思路是這樣的:html
//首先,我須要先從本地讀取數據,判斷本地是否有相關數據java
//若是若是本地沒有數據 經過Ajax向服務器請求相關數據服務器
//將請求的數據解析 存入本地 固然要給它一個獨一無二的鍵名(我是採用JSON格式存儲的)app
//若是本地有數據 從本地將相關數據讀出來,而後解析ide
//將解析後的數據插入到頁面中單元測試
HTML代碼
這沒啥好看的 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title> <script src="../common/mui.js"></script> <link href="../common/mui.css" rel="stylesheet"/> <link rel="stylesheet" type="text/css" href="questionList.css"/> <link rel="stylesheet" type="text/css" href="../common/app.css"/> </head> <body> <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-back mui-pull-left"></a> <a class=" mui-icon mui-icon-plusempty mui-pull-right" href="../discover/discover.html"></a> <h1 class="mui-title">試題列表</h1> </header> <div class="mui-card" > <ul class="mui-table-view" id="message"> <!--將要被替換的內容--> </ul> </div> <div class="mui-content"></div> <script src="questionList.js" type="text/javascript" charset="utf-8"></script> </body> </html>
JS代碼mui.init(); mui.plusReady(function() { var QList = {Q1: '001', Q2: '002', Q3: '003'}; //測試用再Storage中存儲基礎數據 一個JSON對象 var Q1 = {title: '單元測試一',time:'18:00',doc: '一個西瓜分四瓣,猴子拿走一塊,還剩幾塊???????',opt: {A: '3塊', B: '2塊', C: '1塊', D: '0塊', ok: 'A'},analysis: '這個題目中提到了猴子,以此咱們須要看是什麼猴子。。。。'}; //@@@@這裏踩坑!!!!!!注意:單引號寫在{}外,每一個屬性名都必須用雙引號,不然會拋出異常。 //所以須要在這裏對對象字符串化 而後再存儲 存儲字符會更好 Q1 = JSON.stringify(Q1); if(plus.storage.setItem('Q1', Q1) == null){ console.log('Q1+++++存儲成功');//返回 null 表示存儲成功 } //####構造習題列表頁面 var Q = JSON.parse(plus.storage.getItem('Q1')); console.log('JSON對象:' + Q); var title = Q.title; var time = Q.time; var doc = Q.doc; var opt = Q.opt; var analysis = Q.analysis; // for 建立5個子頁面 var insertHTML = ''; for(var i=0;i<3;i++){ var title = '單元測試' + i; var Doc = doc; var id = 'Q' + i; console.info(title + '+++++++++++' + Doc); insertHTML = insertHTML + '<li class="mui-table-view-cell mui-media" id="' + id +'"><div class="mui-slider-handle mui-table"><a href="javascript:;"><div class="mui-media-body"><span class="nickname">' + title + '</span><span class="list-time">' + time + '</span><p class="mui-ellipsis">' + Doc + '</p></div></a></div></li>'; } document.getElementById('message').innerHTML = insertHTML; document.getElementById('Q1').addEventListener('tap', function() { mui.openWindow({ url: '../questionSet/questionSet.html', id: 'questionSet' }); }); });