Forum Clubic

JS: Atteindre le texte d'une puce et un autre attribut

Salut tout le monde!

Voilà, je recherche un moyen simple de capturer le texte d’une puce HTML, ainsi que la valeur d’un autre attribut. Y a t il un moyen simple de faire ceci?

Voilà mon code :


   <script type="text/javascript">
//Modifie le contenu du input par la valeur du li selectionné
function givememyselection (selectnb, valuenb)
 {
  // Les deux variables issues des deux paramètres :
  var MySelectNumber = selectnb;
  var MySelectedValue = valuenb;
  
  // Accès au premier select :
  var MySelectionInputId = "myselection " + MySelectNumber;
  var MySelectionInputValue = document.getElementById(MySelectionInputId).value;
  
  // Accès à la valeur choisie :
  var MySelectedItemId = "mylisting " + MySelectNumber + " - myitem " + MySelectedValue;
  var MySelectedItemObject = document.getElementById(MySelectedItemId);
  var MySelectedItemProperties = MySelectedItemObject.innerHTML;
 
  // Script :
  alert(MySelectedItemProperties); 
  display("mylisting /" + MySelectNumber);
 }
   
   </script>


<body>
  <div id="myselect 1">
   <input id="myselection 1" type="text" value="bob" />
   <img class="myselectdown" src="./down.png" onclick="javascript: display('mylisting 1');" /><!--
    --></div>
  <ul id="mylisting 1">
   <li id="mylisting 1 - myitem 1" value="georgia" onclick="javascript: givememyselection(1, 1);">Georgia</li>

   <li id="mylisting 1 - myitem 2" value="times new roman" onclick="javascript: givememyselection(1, 2);">Times New Roman</li>
   <li id="mylisting 1 - myitem 3" value="arial" onclick="javascript: givememyselection(1, 3);">Arial</li>
   <li id="mylisting 1 - myitem 4" value="arial black" onclick="javascript: givememyselection(1, 4);">Arial Black</li>
  </ul>
 </body>

Le but étant de faire un pseudo-select plus puissant que celui proposé par HTML natif…

Bien sur le JS ne marche pas, c’est bien pour ça que je suis là, je ne vois pas ce qu’il faut faire?
Un idée?

Merci d’avance,
Killerboy!

Petit up? Un lien, un cours, une astuce?
Merci :slight_smile:

developer.mozilla.org…

Lis donc toute la partie sur DOM… ça permet de manipuler les noeuds XML, donc :

var a = document.getElementById('mylisting 1').getElementsByTagName('li');
for (var i = 0; i < a.length; ++i) {
  alert(a[i].getAttribute('value'));
}

Au passage, si tu veux ajouter un attribut qui n’éxiste pas, utilise des namespaces, genre meta:value, etc…

Oooooooh merci beaucoup! Je vais lire ça!
Encore merci!