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でしっかりと閉じよう。
誰が見ても分かりやすいコードを書くように心がけよう。