Php - cela fonctionne:

$html = "
    <div class='part partb4'>
    <img class='imgb4' src='imgdef/01.jpg' alt='img'>
    </div>";
echo $html;

Javascript - ne fonctionne pas:

let html = "    
    <div class='part partb4'>
    <img class='imgb4' src='imgdef/01.jpg' alt='img'>
    </div>";
    $(html).insertBefore($('.part').eq(0));

Javascript - cela fonctionne:

let html = "<div class='part partb4'><img class='imgb4' src='imgdef/01.jpg' alt='img'></div>";

$(html).insertBefore($('.part').eq(0));

Comment valider le deuxième exemple? Je suis sur Windows, Notepad ++.

Merci.

-1
qadenza 26 janv. 2019 à 21:14

5 réponses

Meilleure réponse

En ajoutant une barre oblique inverse (\) comme dernier caractère de la ligne, vous ne pouvez même pas avoir de barre d'espace derrière, car cela n'annulera pas le saut de ligne.

let html = "    
<div class='part partb4'>\
<img class='imgb4' src='imgdef/01.jpg' alt='img'>\
</div>";
$(html).insertBefore($('.part').eq(0));
1
Ekene Madunagu 26 janv. 2019 à 18:25

Vous utilisez une chaîne multiligne, c'est pourquoi cela ne fonctionne pas, je suppose que vous utilisez des modèles de littéraux

let html = `    
    <div class='part partb4'>
    <img class='imgb4' src='imgdef/01.jpg' alt='img'>
    </div>`;
    $(html).insertBefore($('.part').eq(0));
0
Maheer Ali 26 janv. 2019 à 18:21

ECMAScript 6 (ES6) introduit un nouveau type de littéral, à savoir les littéraux de modèle. Ils ont de nombreuses fonctionnalités, interpolation variable entre autres, mais surtout pour cette question, ils peuvent être multilignes.

Un littéral de modèle est délimité par des backticks:

var html = `
  <div class='part partb4'>
<img class='imgb4' src='imgdef/01.jpg' alt='img'>
</div>
`;
0
Marcelo Macedo 26 janv. 2019 à 18:21

Javascript permet de diviser les chaînes dans ES6 en utilisant les backticks:

let html = `    
<div class='part partb4'>
<img class='imgb4' src='imgdef/01.jpg' alt='img'>
</div>`;
$(html).insertBefore($('.part').eq(0));
0
Nathan Champion 26 janv. 2019 à 18:21

Pour la multiligne, vous devez utiliser un seul backticks `(Maj + bouton avant 1)

let html = `
  <div class='part partb4'>
<img class='imgb4' src='imgdef/01.jpg' alt='img'>
</div>
`;
1
Raheel Khan 26 janv. 2019 à 18:24