Comment cibler un élément en Javascript
Les sélecteurs Javascript
Dans ce chapitre nous allons étudier des diverses méthodes Javascript pour cibler un élément afin de pouvoir modifier son style :
-
getElementById()
, sélection par attribut HTMLID
. -
getElementsByName()
, sélection par attribut HTMLNAME
. -
getElementsByTagName()
, sélection par nom de balise HTML -
getElementsByClassName()
, sélecteur par identifiant présent dans attribut HTMLCLASS
. -
querySelector()
etquerySelectorAll()
, sélecteurs par sélecteurs CSS. -
closest()
, sélecteur par sélecteurs CSS.
Vous trouverez des informations complémentaires sur la gestion des Objets HTML (Document Object Model Core et Documents Html), sur la Zone (X)HTML.
document.getElementById()
Sélecteur Javascript par valeur d'attribut id
La méthode javascript getElementById()
de l'objet Document
permet de sélectionner une balise ayant un attribut id
(je précise que la valeur de l'id
doit être unique dans votre page HTML).
document.getElementById('monId')
La méthode javascript document.getElementById(parametre)
accepte comme paramètre :
- chaine de caractère, qui représente la valeur de l'attribut
id
, sensible à la casse.
La méthode javascript document.getElementById()
retourne :
-
null
, si pas de résultat. -
Element
, objet de typeElement
qui est l'objet récupéré. Si vous avez plusieurs id de même valeur, c'est le dernier trouvé qui est sélectionné, mais cela peut varier selon les navigateurs.
Exemple d'utilisation de getElementById()
Voici un exemple d'utilisation de la méthode Javascript getElementById()
.
<div id="selecteur211a" style="color:red">
texte en rouge et vert si modifié avec document.getElementById(selecteur211a)
</div>
<div id="selecteur211double" style="color:red">
texte en rouge et vert si modifié avec document.getElementById(selecteur211double)
</div>
<div id="selecteur211double" style="color:red">
texte en rouge et vert si modifié avec document.getElementById(selecteur211double)
</div>
<div id="selecteur211msg">
Texte de message
</div>
var oEle = document.getElementById("selecteur211a");
if( oEle !== null ){
oEle.style['color']= 'green';
}else{
/* message "selecteur211a" pas trouvé */
}
var oEle = document.getElementById("selecteur211double");
if( oEle !== null ){
oEle.style['color']= 'green';
}else{
/* message "selecteur211double" pas trouvé */
}
var oEle = document.getElementById("nexistepas");
if( oEle !== null ){
oEle.style['color'] = 'green';
}else{
/* message "nexistepas" pas trouvé */
}
Ce qui donne :
Element.getElementsByTagName()
Sélecteur Javascript de type de balise HTML
La méthode javascript getElementsByTagName()
de l'objet Document
ou Element
permet de sélectionner une balise par son nom (tagName
).
document.getElementsByTagName('SPAN');
elementOl.getElementsByTagName('LI');
Si vous utilisez la méthode javascript getElementsByTagName()
de l'objet Document
, alors la recherche se fera sur l'ensemble du document.
Si vous utilisez la méthode javascript getElementsByTagName()
de l'objet Element
, alors la recherche se fera sur l'ensemble des enfants de cet élément.
La méthode Javascript *.getElementsByTagName(parametre)
accepte comme paramètre :
- *, sélecteur universel, représente tous les noms de balise.
- chaine de caractère, qui représente le nom de la balise, insensible à la casse.
La méthode Javascript *.getElementsByTagName()
retourne :
-
NodeList
, liste des objets récupérés de typeElement
.NodeList.length
renvoie le nombre d'éléments présents.
Exemple d'utilisation Element.getElementsByTagName()
Voici un exemple d'utilisation de la méthode Javascript getElementsByTagName()
.
<div id="selecteur214a" style="color:red">[selecteur214a]
Texte pas en rouge si modifié avec *.getElementsByTagName()<br>
<span>je suis en <b>Bold</b>.</span><br>
<i>je suis en <b>Bold</b> italic.</i><br><br>
</div>
<div id="selecteur214b" style="color:red">[selecteur214b]
Texte pas en rouge si modifié avec *.getElementsByTagName()<br>
<span>je suis en <b>Bold</b>.</span><br>
<i>je suis en <b>Bold</b> italic.</i><br><br>
</div>
<div id="selecteur214c" style="color:red">[selecteur214c]
Texte pas en rouge si modifié avec *.getElementsByTagName()<br>
<span>je suis en <b>Bold</b>.</span><br>
<i>je suis en <b>Bold</b> italic.</i><br><br>
</div>
<div id="selecteur214msg">
Texte de message
</div>
var oNodeList = document.getElementsByTagName("i");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'slateblue';
}
}else{
/* message "i" pas trouvé */
}
var oEle = document.getElementById("selecteur214a");
if( oEle !== null ){
var oNodeList = oEle.getElementsByTagName("b");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'green';
}
}else{
/* message "B" pas trouvé */
}
}else{
/* message "selecteur214a" pas trouvé */
}
var oEle = document.getElementById("selecteur214b");
if( oEle !== null ){
var oNodeList = oEle.getElementsByTagName("SPAN");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'goldenrod';
}
}else{
/* message "SPAN" pas trouvé */
}
}else{
/* message "selecteur214b" pas trouvé */
}
var oEle = document.getElementById("selecteur214c");
if( oEle !== null ){
var oNodeList = oEle.getElementsByTagName("DFN");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'maroon';
}
}else{
/* message "DFN" pas trouvé */
}
}else{
/* message "selecteur214c" pas trouvé */
}
var oEle = document.getElementById("selecteur214c");
if( oEle !== null ){
var oNodeList = oEle.getElementsByTagName("*");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'darkcyan';
}
}else{
/* message pas trouvé */
}
}else{
/* message "selecteur214c" pas trouvé */
}
Ce qui donne :
je suis en Bold.
je suis en Bold italic.
je suis en Bold.
je suis en Bold italic.
je suis en Bold.
je suis en Bold italic.
Element.getElementsByName()
Sélecteur Javascript par valeur d'attribut name
La méthode Javascript getElementsByName()
de l'objet Document
permet de sélectionner une balise par sa valeur d'attribut name
.
document.getElementsByName('attribut-name');
Si vous utilisez la méthode javascript getElementsByName()
de l'objet Document
, alors la recherche se fera sur l'ensemble du document.
La méthode Javascript *.getElementsByName(parametre)
accepte comme paramètre :
- chaine de caractère, qui représente la valeur de l'attribut
name
, sensible à la casse.
La méthode Javascript *.getElementsByName()
retourne :
-
NodeList
, liste des objets récupérés de typeElement
.NodeList.length
renvoie le nombre d'éléments présents.
Exemple d'utilisation de getElementsByName()
Voici un exemple d'utilisation de la méthode Javascript getElementsByName()
.
<form id="selecteur480a">
<input type="text" name="attr-name-doc" value="attr-name-doc n'a pas été modifié si en rouge" style="color:red">
<input type="text" name="attr-name-ele" value="attr-name-ele n'a pas été modifié si en rouge" style="color:red">
</form >
<form id="selecteur480b">
<input type="text" name="attr-name-doc" value="attr-name-doc n'a pas été modifié si en rouge" style="color:red">
<input type="text" name="attr-name-simple" value="attr-name-simple n'a pas été modifié si en rouge" style="color:red">
</form>
<div id="selecteur480msg">
Texte de message
</div>
var aoEle = document.getElementsByName("attr-name-doc");
if(aoEle.length > 0){
for(var i = 0; i < aoEle.length ; i++){
aoEle[i].style['color']= 'green';
}
}else{
/* message "attr-name-doc" pas trouvé */
}
var aoEle = document.getElementsByName("attr-name-ele");
if(aoEle.length > 0){
for(var i = 0; i < aoEle.length ; i++){
aoEle[i].style['color']= 'green';
}
}else{
/* message "attr-name-doc" pas trouvé */
}
var aoEle = document.getElementsByName("nexistepas");
if(aoEle.length > 0){
/* message "nexistepas" a été trouvé */
}else{
/* message "nexistepas" pas trouvé */
}
Ce qui donne :
Element.getElementsByClassName()
Sélecteur Javascript par valeur de l'attribut class
La méthode Javascript getElementsByClassName()
de l'objet Document
ou Element
permet de sélectionner une balise par un identifiant de class
CSS contenu dans l'attribut HTML (class
).
document.getElementsByClassName('MaClass')
elementUl.getElementsByClassName('item');
Si vous utilisez la méthode javascript getElementsByClassName()
de l'objet Document
, alors la recherche se fera sur l'ensemble du document.
Si vous utilisez la méthode javascript getElementsByClassName()
de l'objet Element
, alors la recherche se fera sur l'ensemble des enfants de cet élément.
La méthode Javascript *.getElementsByClassName(parametre)
accepte comme paramètre :
- identifiant de class CSS, qui représente l'identifiant recherché dans l'attribut
class
, sensible à la casse. Vous pouvez mettre plusieurs identifiants declass
séparés par un espace, dans ce cas l'élément recherché devra avoir tous ces identifiants dans son attributclass
.
La méthode Javascript *.getElementsByClassName()
retourne :
-
NodeList
, liste des objets récupérés de typeElement
.NodeList.length
renvoie le nombre d'éléments présents.
La méthode Javascript *.getElementsByTagName()
est reconnue par internet Explorer 6+, Chrome 1+, Opera 9.5+, Safari 3+ et Firefox 3+.
Exemple d'utilisation de getElementsByClassName()
Voici un exemple d'utilisation de la méthode Javascript getElementsByClassName()
.
<div id="selecteur216a" style="color:red">
Texte pas en rouge si modifié avec *.getElementsByClassName()<br>
<span class="class216">je suis en rouge?</span><br>
<span class="class216a class216c">je suis en rouge?</span><br>
<span class="class216a">je suis en <span class="class216">rouge</span>?</span><br><br>
</div>
<div id="selecteur216b" style="color:red">
Texte pas en rouge si modifié avec *.getElementsByClassName()<br>
<span class="class216">je suis en rouge?</span><br>
<span class="class216b">je suis en rouge?</span><br>
<span class="class216b">je suis en <span class="class216">rouge</span>?</span><br><br>
</div>
<div id="selecteur216c" style="color:red">
Texte pas en rouge si modifié avec *.getElementsByTagName()<br>
<span class="class216">je suis en rouge?</span><br>
<span class="class216c class216cc">je suis en <span class="class216">rouge</span>?</span><br>
<span class="class216c">je suis en rouge?</span><br>
<span class="class216c class216cc">je suis en rouge?</span><br><br>
</div>
<div id="selecteur216msg">
Texte de message
</div>
var oNodeList= document.getElementsByClassName("class216");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length ; h++){
oNodeList[h].style['color'] = 'slateblue';
}
}else{
/* message "class216" pas trouvé */
}
var oEle = document.getElementById("selecteur216a");
if( oEle !== null ){
var oNodeList = oEle.getElementsByClassName("class216a");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length ; h++){
oNodeList[h].style['color'] = 'green';
}
}else{
/* message "class216a" pas trouvé */
}
}else{
/* message "selecteur216a" pas trouvé */
}
var oEle = document.getElementById("selecteur216b");
if( oEle !== null ){
var oNodeList = oEle.getElementsByClassName("class216b");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length ; h++){
oNodeList[h].style['color'] = 'goldenrod';
}
}else{
/* message "class216b" pas trouvé */
}
}else{
/* message "selecteur216b" pas trouvé */
}
var oEle = document.getElementById("selecteur214c");
if( oEle !== null ){
var oNodeList = oEle.getElementsByClassName("class216c class216cc");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'darkcyan';
}
}else{
/* message "class216c class216cc" pas trouvé */
}
}else{
/* message "selecteur216c" pas trouvé */
}
var oEle = document.getElementById("selecteur216c");
if( oEle !== null ){
var oNodeList = oEle.getElementsByClassName("class216inc");
if( oNodeList.length > 0 ){
oEle.style['color'] = 'darkviolet';
}else{
/* message "class216inc" pas trouvé */
}
}else{
/* message "selecteur216c" pas trouvé */
}
Ce qui donne :
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
Element.querySelector()
Sélecteur Javascript unique avec sélecteurs CSS
La méthode Javascript querySelector()
de l'objet Document
ou Element
permet de sélectionner une balise grâce à un sélecteur CSS.
document.querySelector('BODY > TABLE .MaClass');
elementTable.querySelector('.MaClass');
La méthode javascript *.querySelector(parametre)
accepte comme paramètre :
- sélecteur CSS, qui représente le chemin vers élément cible. Le sélecteur CSS est soumis à sa compatibilité navigateur.
La méthode Javascript *.querySelector()
retourne :
-
null
, si pas de résultat. -
Element
, qui correspond au premier élément trouvé.
La méthode javascript *.querySelector()
est reconnue par Explorer 8 seulement les sélecteurs CSS 2.1, Internet Explorer 9+, Chrome 4+, Safari 3.1+, Firefox 3.5+ et Opera 10+. Pour les mobiles iOS 3.2+, Opera Mini 5+ | Mobile 10+ et Android 2.1+
Exemple d'utilisation de querySelector()
Voici un exemple d'utilisation de la méthode Javascript querySelector()
.
<div id="selecteur219a" style="color:red">[selecteur219a]
Texte pas en rouge si modifié avec *.querySelector()<br>
<span class="class219">je suis en rouge?</span><br>
<i>je suis en rouge?</i><br>
je suis en <span class="class219">rouge</span>?<br>
<span class="class219">je suis en rouge?</span><br><br>
</div>
<div id="selecteur219b" style="color:red">[selecteur219b]
Texte pas en rouge si modifié avec *.querySelector()<br>
<span>je suis en rouge?</span><br>
<span>je suis en <b><span class="class219">rouge?</span></b></span><br>
<b class="class219">je suis en <span class="class219">rouge</span>?</b><br><br>
</div>
<div id="selecteur219c" style="color:red">[selecteur219c]
Texte pas en rouge si modifié avec *.querySelector()<br>
<b><span>je suis en rouge?</span></b><br>
<b>je suis en <span class="class219">rouge</span>?</b><br>
<b>je suis en rouge?</b><br><br>
</div>
<div id="selecteur219msg">
Texte de message
</div>
var oEle = document.querySelector(".class219");
if( oEle !== null ){
oEle.style['color'] = 'darkslategray';
}else{
/* message "class219" pas trouvé */
}
var oEle = document.getElementById("selecteur219b");
if( oEle !== null ){
var oEleRes = oEle.querySelector("b span");
if( oEleRes !== null ){
oEleRes.style['color'] = 'goldenrod';
}else{
/* message "b span" pas trouvé */
}
}else{
/* message "selecteur219b" pas trouvé */
}
}
var oEle = document.querySelector("#selecteur219c b:nth-of-type(2n+1)");
if( oEle !== null ){
oEle.style['color'] = 'green';
}else{
/* message "#selecteur219c b:nth-of-type(2n+1)" pas trouvé */
}
var oEle = document.getElementById("selecteur219a");
if( oEle !== null ){
var oEleRes = oEle.querySelector("span ~ i");
if( oEleRes !== null ){
oEleRes.style['color'] = 'darkcyan';
}else{
/* message "span ~ i" pas trouvé */
}
}else{
/* message "selecteur219a" pas trouvé */
}
}
Ce qui donne :
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
querySelector() versus les autres sélecteurs Javascript
Sachez que les sélecteurs Javascript querySelector()
est beaucoup moins rapide que les autres. Favorisez toujours le sélecteur Javascript getElementById()
.
document.querySelector("#monId") moins performant que document.getElementById("monId")
Element.querySelectorall()
Sélecteur Javascript multiple avec sélecteurs CSS
La méthode Javascript querySelectorAll()
de l'objet Document
ou Element
permet de sélectionner une balise grâce à un sélecteur CSS.
document.querySelectorAll('BODY > TABLE .MaClass');
elementTable.querySelectorAll('.MaClass');
La méthode javascript *.querySelector(parametre)
accepte comme paramètre :
- sélecteur CSS, qui représente le chemin vers élément cible. Le sélecteur CSS est soumis à sa compatibilité navigateur.
La méthode javascript *.querySelectorAll()
retourne :
-
HTMLCollection
, liste des objets récupérés de typeElement
static.HTMLCollection.length
renvoie le nombre d'éléments présents.
La méthode javascript *.querySelectorAll()
est reconnue par Explorer 8 seulement les sélecteurs CSS 2.1, Internet Explorer 9+, Chrome 4+, Safari 3.1+, Firefox 3.5+ et Opera 10+. Pour les mobiles iOS 3.2+, Opera Mini 5+ | Mobile 10+ et Android 2.1+
Exemple d'utilisation de querySelectorAll()
Voici un exemple d'utilisation de la méthode Javascript querySelectorAll()
.
<div id="selecteur495a" style="color:red">[selecteur495a]
Texte pas en rouge si modifié avec *.querySelector()<br>
<span class="class495">je suis en rouge?</span><br>
<i>je suis en rouge?</i><br>
je suis en <span class="class495">rouge</span>?<br>
<span class="class495">je suis en rouge?</span><br><br>
</div>
<div id="selecteur495b" style="color:red">[selecteur495b]
Texte pas en rouge si modifié avec *.querySelector()<br>
<span>je suis en rouge?</span><br>
<span>je suis en <b><span class="class495">rouge?</span></b></span><br>
<b class="class495">je suis en <span class="class495">rouge</span>?</b><br><br>
</div>
<div id="selecteur495c" style="color:red">[selecteur495c]
Texte pas en rouge si modifié avec *.querySelector()<br>
<b><span>je suis en rouge?</span></b><br>
<b>je suis en <span class="class495">rouge</span>?</b><br>
<b>je suis en rouge?</b><br><br>
</div>
<div id="selecteur495msg">
Texte de message
</div>
var oNodeList = document.querySelectorAll(".class495a");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'mediumslateblue';
}
}else{
/* message "class495a" pas trouvé */
}
var oEle = document.getElementById("selecteur214c");
if( oEle !== null ){
var oNodeList = oEle.querySelectorAll(".class495all");
if( oNodeList.length > 0 ){
for(var h = 0; h < oNodeList.length; h++){
oNodeList[h].style['color'] = 'maroon';
}
}else{
/* message "class495all" pas trouvé */
}
}else{
/* message "selecteur495a" pas trouvé */
}
}
var oEle = document.querySelectorAll("#selecteur495c b:nth-of-type(2n+1)");
if( oEle !== null ){
oEle.style['color'] = 'green';
}else{
/* message "#selecteur495c b:nth-of-type(2n+1)" pas trouvé */
}
var oEle = document.getElementById("selecteur495a");
if( oEle !== null ){
var oEleRes = oEle.querySelectorAll("span ~ i");
if( oEleRes !== null ){
oEleRes.style['color'] = 'darkcyan';
}else{
/* message "span ~ i" pas trouvé */
}
}else{
/* message "selecteur495a" pas trouvé */
}
}
Ce qui donne :
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
querySelectorAll() versus les autres sélecteurs Javascript
Sachez que les sélecteurs Javascript querySelectorAll()
est beaucoup moins rapide que les autres. Favorisez toujours le sélecteur Javascript getElementsByTagName()
, getElementsByName()
ou getElementsByClassName()
.
document.querySelectorAll("LI") moins performant que document.getElementsByTagName("LI")
document.querySelectorAll(".item") moins performant que document.getElementsByClassName("item")
document.querySelectorAll("[name=valeur]") moins performant que document.getElementsByName("valeur")
Sachez que le sélecteur Javascript querySelectorAll()
retourne un NodeList
non dynamique, il n'est pas mise à jour en live.
Cela signifie que le NodeList
contient les éléments qui figuraient dans le document au moment de l'appel de querySelectorAll().
Element.closest()
Sélecteur Javascript de parent avec sélecteurs CSS
La méthode Javascript closest()
de l'objet Element
permet de sélectionner une balise parente la plus proche grâce à un sélecteur CSS.
Cependant selon le sélecteur, vous pouvez redescendre à partir du parent trouvé.
//Je trouve le parent ayant la classe .MonParent
element.closest('.MonParent');
//Je trouve le parent section.unClass et je redescends vers le premier span trouvé
element.closest('section.unClass > span');
//Je trouve le parent section.unClass ou section.troisClass
element.closest('section.unClass, section.troisClass');
La méthode Javascript *.closest(parametre)
accepte comme paramètre :
- sélecteur CSS, qui représente le/les chemins vers un/des éléments cibles. Le sélecteur CSS est soumis à sa compatibilité navigateur.
parametre
) spécifié est invalide, une exception de type SyntaxError
est déclenchée.La méthode Javascript *.closest()
retourne :
-
null
, si pas de résultat (ou si l'élément n'est pas dans le DOM). -
Element
, qui correspond au premier élément parent trouvé.
La méthode javascript *.closest()
est reconnue par Internet Explorer 15+, Chrome 41+, Safari 6+, Firefox 35+ et Opera 28+.
Exemple d'utilisation de closest()
Voici un exemple d'utilisation de la méthode Javascript closest()
.
<div id="selecteur498a" style="color:red" class="maclass">[selecteur498a]
Texte pas en rouge si modifié avec *.closest()<br>
<b><span>je suis en rouge?</span></b><br>
<b class="maclass">je suis en <span id="id498a">rouge</span>?</b><br>
<b>je suis en rouge?</b><br><br>
</div>
<div id="selecteur498b" style="color:red" class="troisparent">[selecteur498b]
Texte pas en rouge si modifié avec *.closest()<br>
<b><span>je suis en rouge?</span></b><br>
<b>je suis en <span id="id498b">rouge</span>?</b><br>
<b>je suis en rouge?</b><br><br>
</div>
<div id="selecteur498c" style="color:red">[selecteur498c]
Texte pas en rouge si modifié avec *.closest()<br>
<b><span>je suis en rouge?</span></b><br>
<b>je suis en <span id="id498c">rouge</span>?</b><br>
<b>je suis en rouge?</b><br><br>
</div>
<div id="selecteur498d" style="color:red">[selecteur498c]
Texte pas en rouge si modifié avec *.closest()<br>
<b><span>je suis en rouge?</span></b><br>
<b><span id="id498d">je suis en <i>rouge</i>?</span></b><br>
<b>je suis en rouge?</b><br><br>
</div>
<div id="selecteur498msg">
Aucun message
</div>
var oEle = document.getElementById("id498a");
var oParent = oEle.closest(".maclass");
if( oParent !== null ){
oParent.style['color'] = 'darkcyan';
}else{
/* message "maclass" pas trouvé */
}
var oEle = document.getElementById("id498b");
var oParent = oEle.closest("unparent, .troisparent");
if( oParent !== null ){
oParent.style['color'] = 'goldenrod';
}else{
/* message "unparent" ou "troisparent" pas trouvé */
}
var oEle = document.getElementById("id498c");
var oParent = oEle.closest("div");
if( oParent !== null ){
oParent.style['color'] = 'darkslategray';
}else{
/* message "div" pas trouvé */
}
var oEle = document.getElementById("id498d");
var oParent = oEle.closest("div i");
if( oParent !== null ){
oParent.style['color'] = 'green';
}else{
/* message "div i" pas trouvé */
}
Ce qui donne :
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?
je suis en rouge?