jQueryでTable要素にappendするときずれた位置に表示されてしまったのでまとめ
$(document).ready(function(){
$('#foo').append('<tr>');
$('#foo').append('<td>');
$('#foo').append('ずれた位置に表示される');
$('#foo').append('</td>');
$('#foo').append('</tr>');
});
最初のtrタグをappendしたタイミングで/trされる。
tdタグについても同じくtdタグをappendしたタイミングで/tdされる。
なのでHTMLでみると以下のようになる
<table id="foo"> <tr></tr> <td></td> ずれた位置に表示される </table>
for文などで行と列が可変の場合とても面倒だが
tableにtrをappendする
trにtdをappendする
$(document).ready(function(){
$('#foo').append('<tr id="bar"></tr>');
$('#bar').append('<td>この書き方が正解</td>');
});
HTMLでみると以下のようになる
<table id="foo">
<tr id="bar">
<td>この書き方が正解</td>
</tr>
</table>
なおtrをappendするタイミングで/trがされるので/trは省略できる。
tdタグについても同じくtdをappendするタイミングで/tdがされるので/tdは省略できる。
しかし/タグを省略して書くとプログラマとしては失格であるので/tr/tdでしっかりと閉じよう。
誰が見ても分かりやすいコードを書くように心がけよう。
