JavaScript変数にHTMLコードを格納したかったのですが、PHPコードが含まれているとシングルクォーテーション("")で囲う方法ではできなかったので、PHPコードが含まれている場合の方法を調べました。
バッククオート(`)を使ってテンプレートリテラルを作成することで、変数にHTMLコードを格納できます。
CakePHPの場合、ビューファイル上であれば、$this->Form->buttonの部分も問題なく動作しました。
var template = `
<div>
<?=
$this->Form->button(
'追加',
[
'type' => 'button',
'class' => 'btn',
'id' => 'add',
]
);
?>
</div>
`;
使用例
$('#test').append(template);