Comment échaper 4 apostrophes dans un script JS DOM ?

Résolu/Fermé
rgb44 Messages postés 61 Date d'inscription dimanche 28 juillet 2013 Statut Membre Dernière intervention 16 mars 2015 - Modifié par rgb44 le 26/07/2014 à 17:25
rgb44 Messages postés 61 Date d'inscription dimanche 28 juillet 2013 Statut Membre Dernière intervention 16 mars 2015 - 27 juil. 2014 à 10:58
Bonsoir,

J'aimerai savoir si il existe une technique pour utiliser un 4e apostrophe sur une même ligne de script.

Je m'explique : J'utilise ici 3 chevauchement d'apostrophes ( ", \", et ' ), et ça marche :

document.getElementById("MON_ID").innerHTML="<a onclick=\"document.body.style.backgroundColor='red';\" >Cliquer pour changer le backgroundColor</a>";

Mais lorsque je rajoute un 4e apostrophe, ( ", \", ' , et \' ), j'obtiens une erreur de syntaxe. Voici l'exemple utilisé :

document.getElementById("MON_ID").innerHTML="<a onclick=\"document.body.style.backgroundImage='url(\'http://i.imgur.com/RKJG1Y7.png\')';\" >Cliquer pour changer le backgroundImage</a>";

J'ai beau tous les mélanger, j'ai toujours mon erreur.
Grand merci d'avance pour vos aides et astuces ! :)

PS : Oui, je DOIS utiliser l'innerHTML. Ça serait pas marrant sinon.
PPS : Utiliser '', \'\', etc, ne marche pas non-plus.
A voir également:

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 26/07/2014 à 18:24
'lut, sachant que l'antislash doit apparaitre dans le code final et que l'apostrophe n'a pas besoin d'échappement car elle se trouve entre guillemets, il faut juste échapper l'antislash:
document.getElementById("MON_ID").innerHTML="<a onclick=\"document.body.style.backgroundImage='url(\\'http://i.imgur.com/RKJG1Y7.png\\')';\" >Cliquer pour changer le backgroundImage</a>";
1
rgb44 Messages postés 61 Date d'inscription dimanche 28 juillet 2013 Statut Membre Dernière intervention 16 mars 2015 1
27 juil. 2014 à 10:58
Eh bien merci beaucoup, ça marche ! :)

Mais en continuant mes recherches hier j'ai découvert que j'ai simplement perdu mon temps, en effet il n'y a même pas besoins d'utiliser d'apostrophe pour les url en JS, j'ai confondu avec le css ! :
\"document.body.style.backgroundImage='url(smileysad.gif)';\"

En tout cas encore merci, ça pourra m'être utile ailleurs.
0