皆さん、こんにちは。管理人です。今回は、「jQuery の append 等を使って入れ子や改行のある HTML を追加する方法」について述べたいと思います。
`(バッククォート)で HTML を囲う
これが一番簡単だと思われるやり方です。具体例で説明します。例えば、
<div class="the-class"></div>
の中に
<table>
<tr class="class1">
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr class="class2">
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
<tr class="class3">
<td>g</td>
<td>h</td>
<td>i</td>
</tr>
</table>
という HTML を(jQuery を使って)入れたい場合は、入れたい HTML を`(バッククォート、Shift + @ で入力できます)で囲って変数に代入します。(ただし、変数に代入しなくても動きます。)そして、append します。そうすると、jQuery は次のようになります。
$(document).ready(function() {
const output = `
<table>
<tr class="class1">
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr class="class2">
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
<tr class="class3">
<td>g</td>
<td>h</td>
<td>i</td>
</tr>
</table>`;
$('.the-class').append(output);
});
これで <div class="the-class"></div>
の中に table 要素が追加されます。
今回は append で説明しましたが、after(指定した要素の後に追加)や before(指定した要素の前に追加)などでも同様です。
コメント