看板 Ajax 關於我們 聯絡資訊
先附上程式碼: https://jsfiddle.net/AzureBlue/3jbxz02g/ 有問題的是JS最後這一段: for (var i=0;i<row_num;i++) { $('#reg_t').append("<tr>"); for (var j=0;j<data_num;j++) $('#reg_t').append("<td>" + getData[i][j] + "</td>"); $('#reg_t').append("</tr>"); } 本來預期執行之後生成的表格欄位會是這樣: <tr> <td></td> <td></td> . . . <td></td> </tr> 但是我程式執行完之後,卻是: <tr></tr> <td></td> <td></td> . . . <td></td> 是哪裡我搞錯了嗎?還是這也是因為非同步處理的問題? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.53.75 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1478178373.A.4D4.html
mrbigmouth: 你不能append一個不完整的tag到畫面上 11/03 21:28
mrbigmouth: 所以最前面的<tr>就自動被轉為<tr></tr> 11/03 21:28
mrbigmouth: 真想這樣做就改用字串加法 組成完整的html後再append 11/03 21:29
原來是這樣!我還一直以為是非同步的問題,因為我上面有發生一個非同步的問題0.0 我後來自己想到的方法也是改用字串加法,如下: for (var i=0;i<row_num;i++) { var text = "<tr>"; for (var j=0;j<data_num;j++) text += "<td>" + getData[i][j] + "</td>"; $('#reg_t').append(text + "</tr>"); } 謝謝解惑!
serotw: 是你html用法錯誤,td應該放進tr內,而不是丟在指定物件名 11/07 08:36
serotw: 上 11/07 08:36
改成像是這樣? for (var i=0;i<row_num;i++) { $('#reg_t').append("<tr></tr>"); for (var j=0;j<data_num;j++) $('#reg_t tr:last-child').append("<td>" + getData[i][j] + "</td>"); }
mintle: 話說回圈不加{} 真是很不好的寫法阿 11/07 20:58
以前寫C++習慣迴圈底下只有一行指令就不加大括號了,還是說這樣會造成錯誤? ※ 編輯: charlie0228 (117.56.223.223), 11/08/2016 14:43:23
Peruheru: 不會,只是有人不喜歡 11/08 15:13
Peruheru: 不過我通常會加一行空白免得別人看的時候誤會 11/08 15:13
Peruheru: 只要不會造成閱讀障礙,要不要加單行括弧就只是感覺問題 11/08 15:15
Peruheru: 無所謂好或不好 11/08 15:16
Kenqr: 之後假如要在迴圈裡多加一行 卻忘了補上括號 就會出錯 11/08 22:10
Kenqr: 這樣寫本身沒錯 但是是未來出錯的潛在風險 11/08 22:10
Kenqr: 所以大部份coding style都會規範一定要加括號 11/08 22:11
Peruheru: 我習慣在插入前就尋找括弧位置,沒有就會加上,所以對我 11/09 10:16
Peruheru: 來說這不會是潛在風險,而這可以讓我一頁內可以瀏覽的內 11/09 10:16
Peruheru: 容增加,所以我覺得這只是喜好問題 11/09 10:17
Peruheru: 如果的確會擔心增加內容時沒補到,那就寫上比較保險 11/09 10:18
Peruheru: 縮排比這種事情重要多了 11/09 10:19
真的,我要上來問問題的時候,還要重新排版一次,沒縮排真的會逼死人...
Peruheru: 未來會不會產生那種風險,端看撰寫習慣而定 11/09 10:20
eight0: https://ideone.com/hgs3Z7 11/09 11:42
youtuuube000: 縮排比較重要+1 11/09 14:50
youtuuube000: Python也沒在用刮號的 但沒縮排的code很噁..... 11/09 14:50
剛開始學Python,慶幸自己以前有良好縮排習慣...... ※ 編輯: charlie0228 (117.56.223.223), 11/09/2016 15:11:17
xdraculax: 錯在用字串的概念操作jQuery,jQuery創出來的是Html DO 11/19 13:34
xdraculax: M 1.td應該加在tr裡 2.未加內容,</tr> </td> 其實並 11/19 13:34
xdraculax: 不需要 11/19 13:34