Envoyé par : demanghonj
Date : 23/11/2006 14:22
Bonjour,
Je voudrait rajouter une icone sur un listitem. Je sais comment le faire directement en xul. Le problème est que j'ajoute des listitem à partir de javascript. Je lui indique la classlistitem-iconic) et l'image mais rien n'y fait. Si la class(listitem-iconic) est mis avant dans le code xul je peux changer mon image via javascript. Si je déclare la class et l'image dans mon code js alors rien ne se passe.
Quelqu'un à t-il une solution.
Voici mon code:
var liste = document.getElementById("listeUtilisateurs"); ok = false element = liste.appendItem(tab.nom + " " + tab.prenom,tab.id); element.class = "listitem-iconic"; if(tab.etat == 1 && tab.modif == 1 && !ok){ element.image = "chrome://3jgestion/skin/img/small_locked-and-edit.png"; ok=true;} if(tab.etat == 1 && !ok){ element.image = "chrome://3jgestion/skin/img/small_locked.png"; ok=true;} if(tab.modif == 1 && !ok){ element.image = "chrome://3jgestion/skin/img/small_edit.png"; ok=true;}
Envoyé par : papy
Date : 23/11/2006 14:35
Ton problème viens sans doute de la distinction entre les propriétés et les attributs.
Pour résumer (je n'ai pas de lien qui explique ca sous la main), si tu veux travailler sur un attribut d'une balise XUL (ou HTML, XML...), il faut utiliser la forme :
elt.setAttribute('nomattribut', 'valeur'); elt.getAttribute('nomattribut');
Si tu utilise les propriete (elt.propriete = ...), généralement le code correspondant travaille avec getAttribute et setAttribute, mais c'est possible qu'il fasse d'autre traitement. En plus les propriétés ne sont pas forcément défini pour tout les attributs (ca doit être le cas pour ton problème)
Essai de remplacer
element.image = "chrome://3jgestion/skin/img/small_locked-and-edit.png";
par
element.setAttribute('image', "chrome://3jgestion/skin/img/small_locked-and-edit.png");
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.