Tu y es presque.
Première étape, on va simplifier, reprenons le bout de code à problème de départ :
var maliste ="<a class=\"rev\" id=\"revue0\" href=\"#\" onclick=\"fonction1(<a href='#'><img src='Decoupage/revues/revue1.png'/></a>)\">Revue n°1</a></br>";
On a quoi une variable JavaScript qui vaut un bout de code HTML contenant lui-même un appel JavScript dans un gestionnaire d'évènement, lui-même contenant un paramètre qui est un bout de code HTML. Range les aspirines, on va dés-emboiter les poupées russes pour éclaircir tout ça.
Premier bout de code, le paramètre :
<a href="#"><img src="Decoupage/revues/revue1.png" alt=""/></a>
Comme on l'envoie en paramètre, JavaScript doit le traiter comme une chaine de caractères, passons donc à l'appel de la fonction :
fonction1();
C'est une chaine de caractère, donc le paramètre sera entre quotes simples :
fonction1('<a href="#"><img src="Decoupage/revues/revue1.png" alt=""/></a>');
La chaine HTML ne contenant elle-même pas de quotes simples, pas de conflit, tout va bien. Maintenant, cet appel de fonction est dans un gestionnaire d'évènement dans une balise HTML, ça se corse un peu :
<a class="rev" id="revue0" href="#" onclick="fonction1('<a href="#"><img src="Decoupage/revues/revue1.png" alt=""/></a>');">Revue n°1</a><br />
Là, on a un problème puisqu'on est en HTML et qu'il y a des guillemets dans la valeur de l'attribut onclick : on va les échapper :
<a class="rev" id="revue0" href="#" onclick="fonction1('<a href=\"#\"><img src=\"Decoupage/revues/revue1.png\" alt=\"\"/></a>');">Revue n°1</a><br />
On y arrive, dernière étape : tout ça doit former la valeur de ma variable JavaScript maliste : Comme on affecte une chaine à cette variable, on va l'encadrer de quotes simples : ça veut dire que toutes les quotes simples contenues dans cette chaine doivent impérativement être échappées, ce qui devrait donner ceci :
var maliste = '<a class="rev" id="revue0" href="#" onclick="fonction1(\'<a href=\"#\"><img src=\"Decoupage/revues/revue1.png\" alt=\"\"/></a>\');">Revue n°1</a><br />';
Essaye déjà comme ça et reviens avec le résultat, j'ai pas testé, mais tu devrais déjà avoir un résultat homogène avec tous les navigateurs.
Tu y es presque.
Première étape, on va simplifier, reprenons le bout de code à problème de départ :
[php]var maliste ="<a class=\"rev\" id=\"revue0\" href=\"#\" onclick=\"fonction1(<a href='#'><img src='Decoupage/revues/revue1.png'/></a>)\">Revue n°1</a></br>";[/php]
On a quoi une variable JavaScript qui vaut un bout de code HTML contenant lui-même un appel JavScript dans un gestionnaire d'évènement, lui-même contenant un paramètre qui est un bout de code HTML. Range les aspirines, on va dés-emboiter les poupées russes pour éclaircir tout ça.
Premier bout de code, le paramètre :
[html]<a href="#"><img src="Decoupage/revues/revue1.png" alt=""/></a>[/html]
Comme on l'envoie en paramètre, JavaScript doit le traiter comme une chaine de caractères, passons donc à l'appel de la fonction :
[php]fonction1();[/php]
C'est une chaine de caractère, donc le paramètre sera entre quotes simples :
[php]fonction1('<a href="#"><img src="Decoupage/revues/revue1.png" alt=""/></a>');[/php]
La chaine HTML ne contenant elle-même pas de quotes simples, pas de conflit, tout va bien. Maintenant, cet appel de fonction est dans un gestionnaire d'évènement dans une balise HTML, ça se corse un peu :
[html]<a class="rev" id="revue0" href="#" onclick="fonction1('<a href="#"><img src="Decoupage/revues/revue1.png" alt=""/></a>');">Revue n°1</a><br />[/html]
Là, on a un problème puisqu'on est en HTML et qu'il y a des guillemets dans la valeur de l'attribut onclick : on va les échapper :
[html]<a class="rev" id="revue0" href="#" onclick="fonction1('<a href=\"#\"><img src=\"Decoupage/revues/revue1.png\" alt=\"\"/></a>');">Revue n°1</a><br />[/html]
On y arrive, dernière étape : tout ça doit former la valeur de ma variable JavaScript maliste : Comme on affecte une chaine à cette variable, on va l'encadrer de quotes simples : ça veut dire que toutes les quotes simples contenues dans cette chaine doivent impérativement être échappées, ce qui devrait donner ceci :
[php]var maliste = '<a class="rev" id="revue0" href="#" onclick="fonction1(\'<a href=\"#\"><img src=\"Decoupage/revues/revue1.png\" alt=\"\"/></a>\');">Revue n°1</a><br />';[/php]
Essaye déjà comme ça et reviens avec le résultat, j'ai pas testé, mais tu devrais déjà avoir un résultat homogène avec tous les navigateurs.