私は古いコードを書きますが、cssとjavascriptにアクセスできる外部システムで作業しています。私は個々の行、場合によっては最大30行に各項目を書き込む表を使って作業しています。私はtrの6列5項目に分割する必要があります。.insertAfter変数の文字列を並べ替える
各trのスタイルを表示するように変更する予定でした。table-cellは、水平方向にリストを作成します。次に、5行ごとにクラスを追加します。その後、5th trごとにtbodyとtableタグの終わりと先頭に追加されたクラスを挿入して、5 trごとに個別の表を作成します。したがって、5つのtrがそれぞれ独自のテーブルに存在し、5の行を作成するように強制します。
すべてが.insertAfterを除いて動作します。私は</tbody></table><table class='tableBreaker'><tbody>
を5 trごとに挿入する必要がありますが、コードを逆にして<table class="tableBreaker"><tbody></tbody></table>
と書いています。
.insertAfterのjquery文字列を書き換えることについての情報が見つかりません。
表のHTML:
<table id="mainContent_rbl_zoneList" class="tnew-selectseating-form-zone-radio">
<tbody>
<tr>
<td><input id="mainContent_rbl_zoneList_0" type="radio" name="ctl00$mainContent$rbl_zoneList" value="151" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$0\',\'\')', 0)"><label for="mainContent_rbl_zoneList_0"> 10:15</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_1" type="radio" name="ctl00$mainContent$rbl_zoneList" value="152" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$1\',\'\')', 0)"><label for="mainContent_rbl_zoneList_1"> 10:30</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_2" type="radio" name="ctl00$mainContent$rbl_zoneList" value="153" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$2\',\'\')', 0)"><label for="mainContent_rbl_zoneList_2"> 10:45</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_3" type="radio" name="ctl00$mainContent$rbl_zoneList" value="154" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$3\',\'\')', 0)"><label for="mainContent_rbl_zoneList_3"> 11:00</label></td>
</tr><tr>
<td><input id="mainContent_rbl_zoneList_4" type="radio" name="ctl00$mainContent$rbl_zoneList" value="155" checked="checked"><label for="mainContent_rbl_zoneList_4"> 11:15</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_5" type="radio" name="ctl00$mainContent$rbl_zoneList" value="156" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$5\',\'\')', 0)"><label for="mainContent_rbl_zoneList_5"> 11:30</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_6" type="radio" name="ctl00$mainContent$rbl_zoneList" value="157" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$6\',\'\')', 0)"><label for="mainContent_rbl_zoneList_6"> 11:45</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_7" type="radio" name="ctl00$mainContent$rbl_zoneList" value="158" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$7\',\'\')', 0)"><label for="mainContent_rbl_zoneList_7"> 12:00</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_8" type="radio" name="ctl00$mainContent$rbl_zoneList" value="159" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$8\',\'\')', 0)"><label for="mainContent_rbl_zoneList_8"> 12:15</label></td>
</tr>
<tr>
<td><input id="mainContent_rbl_zoneList_9" type="radio" name="ctl00$mainContent$rbl_zoneList" value="160" onclick="javascript:setTimeout('__doPostBack(\'ctl00$mainContent$rbl_zoneList$9\',\'\')', 0)"><label for="mainContent_rbl_zoneList_9"> 12:30</label></td>
</tr>
</tbody>
</table>
CSS:
table#mainContent_rbl_zoneList tr {
display: table-cell;
}
のjQuery:
$("#mainContent_rbl_zoneList.tnew-selectseating-form-zone-radio tr").each(function (index) {
index += 1;
if(index % 5 == 0) {
$(this).addClass("breakRow");
}
});
var tableBreaker = "</tbody></table><table class='tableBreaker'><tbody>";
$(tableBreaker).insertAfter('tr.breakRow');
は、テキストエディタのようなDOMを扱うことはできません。要素を挿入すると完全な要素ですが、htmlはdomノードオブジェクトになります。テキストエディタでコピー/貼り付けをすると閉じることができます。その通り – charlietfl
あなたのtableBreakerが実際にどのようなDOMを表していますか? –
最初に新しいテーブルを作成することができます。最初から2番目にマーキングした後にすべての行を移行します。 –