11548 sujets

JavaScript, DOM et API Web HTML5

bonjour!

je me prend la tete avec ce problème:

var strTemp = '<DIV ID="' + strID + '" CLASS="parent" onClick="expandCollapse(this);" title="' + Title + '">';


comment rajouter à cette variable la chaine suivante:

onMouseOut="this.style.color='#000000';"


La variable strTemp est délimitée par des quotes ' ';
dans lesquelles je cherche à mettre un mouseover qui a aussi besoin de quote, résultat des quotes encadrées par d'autre quote cela provoque une erreur !
comment controuner le problème ?

merci pour votre aide.
Modifié par seb nantes (03 Jul 2006 - 21:09)
Salut,

les experts confirmerons si je dit des conneries.

>>Il faut alterner simple et double quote...dans des simples placer des doubles et inversement.

Tu rajoutes donc comme ça:

'xxx'+'onMouseOut="this.style.color='#000000';"'+'xxx'

Modifié par Hum (30 Jun 2006 - 21:01)
merci pour ton idée mais le problème reste le meme :

onMouseOut contient aussi des doubles quotes et des doubles quotes encadrées par d'autre double quote cela provoque aussi une erreur !

Smiley ohwell
Modifié par seb nantes (30 Jun 2006 - 21:07)
Il faut les échapper avec le caractère backslash.

Exemple :
var chaine = 'Le javascript, c\'est facile !';
salut et merci pour ton aide mais cela ne fonctionne que dans les doubles quotes :

var chaine = "Le javascript, c\'est facile !";


pas avec les simples quotes...
Salut

Peut être ainsi alors:
var strTemp = '<DIV ID="' + strID + '" CLASS="parent" onClick="expandCollapse(this);" title="' + Title + '" onMouseOut="this.style.color=\"#000000\";">';
Bizarre, normalement, l'échappement fonctionne aussi bien pour les apostrophes que pour les guillemets.
Petite remarque : si tu es en php dans une instruction echo, il faut échapper à double (en mettant 3 \ au lieu d'un seul)
en effet cela fonctionne Smiley confused
il suffit en effet de mettre \'
j'avais une faute ailleurs désolé et encore merci.