0
votes

Ajoutez une pièce d'identité aux enfants et rangez-les comme une matrice à la liste

J'ai des boutons différents sans identité comme ceci: xxx

Je ne peux pas y accéder par .button car j'en ai beaucoup, comme 20 ou plus. Puis-je y accéder par leur data-note attribut? QuerySelector sélectionne le premier, deuxième ou tous d'entre eux. Puis-je les sélectionner spécifiquement, peut-être leur mettre un identifiant?

Ce que je veux réellement, c'est de stocker le data-bille-note en tant que tableau, de sorte que vous devez convertir ces données en tableaux comme liste à ajouter au HTML.

Je suppose que c'est aussi possible sans l'identifiant?
Je devrais peut-être créer pour chaque bouton une fonction qui en cliquant sur eux, il stocke ces informations comme une matrice dans une liste que je peux accéder plus tard si elle est appelée, mais je ne sais pas comment sélectionner ces enfants. Si possible non par les numéros de NODELIST, mais par des données, ou si par NODELIST, alors.

Ce pourrait être un problème en fonction du navigateur car ils comptent 0,1,2 ou 1,3,5 ... Est-il possible d'utiliser getElementyid et de sélectionner un nombre spécifique d'enfant?

à addEventListener J'ai besoin de sélectionner chacun des boutons.


0 commentaires

3 Réponses :


0
votes

Si vous voulez juste que les données Notes dans une liste non-commandée, vous pouvez effectuer les éléments suivants:

p>

<h2>Buttons Game</h2>
<p>Click the buttons to add them to the list, press clear to reset</p>
<button data-note="n1" style="background-color: red;">red</button>
<button data-note="n2" style="background-color: green;">green</button>
<button data-note="n3" style="background-color: orange;">orange</button>
<button data-note="n4" style="background-color: blue;">blue</button>
<button id="clear" style="color: black; border: 1px solid black;">clear</button>


7 commentaires

Merci, j'ai essayé d'ajouter cela, mais lorsque j'essaie d'imprimer la liste non réveillé de la liste créée, je reçois un message d'erreur [Objet htmlulistelement], donc je ne sais donc pas si l'erreur est dans la fonction qui dit d'imprimer le Liste non réperte avec toutes les listes Note NoteRecorded.innerhtml = Remarques // Je ne suis pas encore sûr s'il a fonctionné pour stocker les données


@Marialindroos, j'ai mis à jour ma réponse ci-dessus. C'est un peu floue ce que vous essayez de faire, mais le premier extrait d'extraire obtiendra tout le data-note-note et les affichera dans une liste non ordonnée pour vous.


Oui, j'essaie d'obtenir la note de données dans une liste non ordonnée des boutons cliqués sur , dans cet ordre. J'essaie d'enregistrer les boutons joués, si vous cliquez sur le rouge, le vert, l'orange, le bleu; Ensuite, j'ai besoin d'ajouter cette liste dans un div, dans l'ordre qui a été cliqué. Ensuite, je l'effacte et recommencez à nouveau, je dois donc déclencher cet événement pour réussir cette liste jusqu'à ce que j'arrête l'événement! Ne sais pas si je l'ai fait plus clair ou plus compliqué


@Marialindroos, veuillez vérifier ma réponse mise à jour. Maintenant, vous pouvez cliquer sur les boutons colorés et les ajouter à la liste en appuyant sur Effacer. Laissez-moi savoir cela aidé!


Haha, belle comment vous avez ajouté CSS. Le code réel est un clavier, les clics établissent donc des sons qui figurent dans d'autres fichiers. Les données sont donc pour le nom de la note (comme A4), de sorte que vous déclenchez l'événement de sauvegarder les notes en cliquant sur l'enregistrement et avec vous arrêter Effectuez les notes jouées apparaissent, vous devez donc arrêter l'événement d'enregistrement. En outre, l'enregistrement doit effacer ce qui était avant. Je vérifierai votre code plus en détail mais maintenant


Oui, je voulais faire l'air bien :) - Si cela répondit à votre question, vous pouvez envisager d'accepter. Bonne chance avec votre projet de clavier!


J'ai dans la liste HTML la liste

    , j'ai essayé de la définir de la JS A innerhtml et de passer le résultat de la matrice créée, mais cela n'a pas fonctionné. Je dois vérifier la hiérarchie des fonctions et des événements dans mon code ou je pense que je vais l'écrire à nouveau parce que j'ai besoin d'une boucle ou de booléen



0
votes

Sortie d'échantillon: strong>

 Entrez la description de l'image ici p>

étapes: strong> P>

1) Utilisez GetElementsByTagname pour stocker tous les boutons dans un tableau P>

2) Utilisez une boucle pour boucle à travers la matrice P>

3) Utilisez setattribute pour définir les identifiants pour tous les boutons p>

4) Utilisez le tableau Allbuttons comme vous le souhaitez, car il contient déjà tous les boutons déjà, avec leur jeu IDS. P>

Code: strong> p> p>

<div id="buttons">
  <button data-note="n1">One</button>
  <button data-note="n2">Two</button>
</div>


2 commentaires

Excellent moyen de simplifier. J'essaie sans l'identifiant en ajoutant Innertext en tant que tableau, mais je ne sais toujours pas comment l'imprimer à l'écran depuis que je continue à obtenir l'erreur [Objet HTMLulistelement]. Quelque chose de passage de l'élément ou d'appeler la fonction im manquant, donc pas sûr que la fonction stocke les boutons cliqués


Merci Maria Lindroos pour le compliment! Quel est le nouveau code qui vous donne l'erreur?



0
votes

Ceci peut être fait facilement avec

var myNodes = document.querySelectorAll("button[data-note]");


0 commentaires