Eu quero criar algum html via JS, portanto, preciso escrever o html dentro do arquivo JS como:
function createHtmlSection() {
return "<li class=\"chapter up-wrapper-btn\">" +
"<div>" +
"<button><i class=\"fa fa-plus\" onclick=\"addSection('up',this)\"></i></button>" +
"<label contenteditable=\"true\">section 1</label>" +
"</div>" +
"</li>";
}
existe uma ferramenta ou algum atalho para criar esse tipo de string html?
Quero dizer, nesse caso, eu precisava digitar todo esse html à mão. com +
e necessário adicionar "
sinal.
Algo que pode converter isso:
<li class="chapter up-wrapper-btn">
<div>
<button><i class="fa fa-plus" onclick="addSection('up',this)"></i></button>
<label contenteditable="true">section 1</label>
</div>
</li>
para a primeira string que eu precisava digitar manualmente
javascript
html
Devy
fonte
fonte
Respostas:
Você pode usar um literal de modelo (observe os back-ticks). O literal suporta multilinhas, e você não precisará escapar das aspas (você precisará escapar de back-ticks).
Exemplo:
Você também pode passar parâmetros para a função e inseri-los na string usando a interpolação de expressão :
Mostrar snippet de código
fonte
atualize seu arquivo JS para:
Leia este link para obter mais informações: literais de modelo
fonte
Você também pode usar '(uma citação) para não precisar colocar / exibir a frente "
fonte
Basta usar literais de modelo (não uma única citação "'", mas o back-tick "` ") como este:
fonte
Um método alternativo é usar aspas simples e escapar do caractere de nova linha.
Algo assim:
Trocar entre aspas simples evita que você escape as aspas duplas no HTML, mas você ainda precisa citar as aspas simples.
Outra alternativa é usar uma matriz e
.join('')
:Isso permite que você adicione / edite / exclua facilmente partes do código posteriormente.
Ambas as opções são para ES5 ou mais antigo.
Para o navegador moderno, por favor use a versão ES6 fornecido pelo Ori Drori .
fonte