append()
HTML テーブルにしたいアドレス情報を含むオブジェクトがあります。
テーブルは次のように始まります。
<table class="shipping_information" border="1">
</table>
次に、住所情報を別のテーブル (ここでは 5 行目) に入れ、そのテーブルを<td>
. <td>
s の最大数 (ここでは 2)になるようにしようとしています。2を超える場合は、新た<tr>
に追加されます。
function add_shipping_address_to_shipping_container(address_obj, shipping_container) {
var append_to_table = "";
var table = shipping_container.find('table.shipping_information');
var max_td = 2;
var formatted_address = format_address(address_obj); //returns a table with the address
//are there any rows in the table
var is_tr = table.find('tr.shipping_address_container_table').length;
if (!is_tr) {
//no tr so append tr and td
//colspan should be max_td
append_to_table = "<tr class='add_container'><td class='add_container'>" + formatted_address +"</td></tr>"
} else {
//there is a tr
var last_tr = table.find('tr.add_container:last');
//number of tds in the last row
var num_td = last_tr.find('td.add_container').length;
if (num_td >= max_td) {
append_to_table = "<tr class='add_container'><td class='add_container'>" + formatted_address + "</td></tr>";
} else {
append_to_table = "<td class='add_container'>" + formatted_address + "</td>";
}
}
table.append(append_to_table);
}
ただし、<td>
私が想像するように s が追加されていません。<tr>
毎回新しくなります。変数を印刷するとappend_to_table to the console
、正しく見えます。<tr><td></td></tr>
あるべきとき、そしてそうあるべき<td></td>
とき。jqueryまたはchromeは、<tbody>
毎回新しいものを自動的に追加していますか?