U
Une Bévue
pour changer des rules css j'ai besoin de détecter "background" qui
apparaît, avec firefox, de deux manières dans les rules :
background: // ou :
background: // donc avec une espace en premier caractère
dans la détection je ouhaite, bien évidemment ne pas détecter les formes
du genre :
-moz-background-clip:
ou même
-xyz-background:
donc j'écris ma RegExp comme ça :
function changeRule(selector,property,value) {
var rgx=new RegExp('^\s*'+property+':')
[...]
if(cssText.match(rgx) {
<changer la valeur>
}
[...]
}
quand cssText="background:" (sans espace au début) c'est détecté
quand cssText=" background:" (avec espace) ce N'est PAS détecté...
je ne pige pas pourquoi d'autant qu'en essayé ma regexp à la page :
<http://www.regular-expressions.info/javascriptexample.html>
en entrant :
Regexp: ^\s*background:
Subject string : background: (avec ou sans espace au début)
ça roule...
je pense donc qu'il y a un problème de syntaxe dans mon expression
disons que "^\s*" ou '^\s*' ne serait pas intérprété de la m^me manière
entre "" ou entre '' et :
/^\s*background:/
notez que dans mon cas "background" est la valeur d'une variable
"property" c'est pourquoi j'en passe par new RegExp(...).
apparaît, avec firefox, de deux manières dans les rules :
background: // ou :
background: // donc avec une espace en premier caractère
dans la détection je ouhaite, bien évidemment ne pas détecter les formes
du genre :
-moz-background-clip:
ou même
-xyz-background:
donc j'écris ma RegExp comme ça :
function changeRule(selector,property,value) {
var rgx=new RegExp('^\s*'+property+':')
[...]
if(cssText.match(rgx) {
<changer la valeur>
}
[...]
}
quand cssText="background:" (sans espace au début) c'est détecté
quand cssText=" background:" (avec espace) ce N'est PAS détecté...
je ne pige pas pourquoi d'autant qu'en essayé ma regexp à la page :
<http://www.regular-expressions.info/javascriptexample.html>
en entrant :
Regexp: ^\s*background:
Subject string : background: (avec ou sans espace au début)
ça roule...
je pense donc qu'il y a un problème de syntaxe dans mon expression
disons que "^\s*" ou '^\s*' ne serait pas intérprété de la m^me manière
entre "" ou entre '' et :
/^\s*background:/
notez que dans mon cas "background" est la valeur d'une variable
"property" c'est pourquoi j'en passe par new RegExp(...).