[问题] jQuery 执行顺序与预期不同

楼主: charlie0228 (向往湛蓝)   2016-11-03 21:06:09
先附上程式码: 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>
是哪里我搞错了吗?还是这也是因为异步处理的问题?
作者: mintle (☑狂派☑初音)   2016-11-07 20:58:00
话说回圈不加{} 真是很不好的写法阿
作者: serotw (弑龙)   2016-11-07 08:36:00
是你html用法错误,td应该放进tr内,而不是丢在指定物件名上
作者: mrbigmouth (大嘴先生)   2016-11-03 21:28:00
你不能append一个不完整的tag到画面上所以最前面的<tr>就自动被转为<tr></tr>真想这样做就改用字串加法 组成完整的html后再append
作者: Peruheru (还在想)   2016-11-08 15:13:00
不会,只是有人不喜欢不过我通常会加一行空白免得别人看的时候误会只要不会造成阅读障碍,要不要加单行括号就只是感觉问题无所谓好或不好
作者: Kenqr (function(){})()   2016-11-08 22:10:00
之后假如要在循环里多加一行 却忘了补上括号 就会出错这样写本身没错 但是是未来出错的潜在风险所以大部份coding style都会规范一定要加括号
作者: Peruheru (还在想)   2016-11-09 10:16:00
我习惯在插入前就寻找括号位置,没有就会加上,所以对我来说这不会是潜在风险,而这可以让我一页内可以浏览的内容增加,所以我觉得这只是喜好问题如果的确会担心增加内容时没补到,那就写上比较保险缩排比这种事情重要多了未来会不会产生那种风险,端看撰写习惯而定
作者: eight0 (欸XD)   2016-11-09 11:42:00
作者: youtuuube000 (小孩)   2016-11-09 14:50:00
缩排比较重要+1Python也没在用刮号的 但没缩排的code很恶.....
作者: xdraculax (首席怪叔叔)   2016-11-19 13:34:00
错在用字串的概念操作jQuery,jQuery创出来的是Html DOM 1.td应该加在tr里 2.未加内容,</tr> </td> 其实并不需要

Links booklink

Contact Us: admin [ a t ] ucptt.com