0
votes

Comment passer une variable dynamique à fonctionner dans JS?

Tentative de passer des identifiants de manière dynamique fonctionne: xxx

codage dur document.queryselector ('# e-mail') est réussi, mais j'ai besoin d'identifiant pour être dynamique. Les impressions de la console varient correctement. ERR: qs.addeventlistener n'est pas une fonction. xxx

sandbox: https://codesandbox.io/s/p8k45v350


2 commentaires

1. qs est une chaîne, 2. Pourquoi ajouteriez-vous un nouveau gestionnaire d'événements sur Cliquez sur Gestionnaire d'événements nommé Mailto < / code>? O.o


À droite. Elistener était pour une seule instance avec l'identifiant codé dur. Fonction réécrit avec la méthode Elistener supprimée.


3 Réponses :


2
votes

Cela vous aidera:

p>

<p id="email1" onclick="mailTo(this,'com','abc','info','My Website','I have a question for you: ')">Send us an email</p>
<p id="email2" onclick="mailTo(this,'org','xyz','support','My Other Website','I want to report a problem with your website.')">Report Website Problems</p>


6 commentaires

Quel est le problème avec le code? Qu'avez-vous changé et pourquoi cela pourrait-il vous aider?


@Andreas, désolé. dans ma solution, au lieu de passer le ID de l'élément dans la fonction et récupérez l'élément à l'aide de son identifiant , je passe l'élément-moi-même dans la fonction et cela permet moi d'utiliser l'élément ou même c'est id à l'intérieur de la fonction facilement.


Pouvez-vous expliquer le problème, peut-être que je n'ai pas eu le point de la question.


Le problème est la ligne let qs = ... et non comment obtenir l'identifiant (directement en tant que paramètre ou à partir de l'élément transmis)


@Andreas, alors je pense que cette ligne de code tente de récupérer l'élément sélectionné. Ai-je tort?


La ligne stocke simplement le "résultat" de la chaîne de modèle dans qs qui est une chaîne ...



2
votes

Construire juste le sélecteur param param de dynamisme ... xxx


0 commentaires

0
votes

Si vous changez xxx

à xxx

Votre code fonctionne. Mais vous n'avez pas besoin de fournir l'ID pour interroger pour l'élément puisque vous pouvez y accéder avec ceci .


1 commentaires

Ceci charge le DOM afin que chaque clic soit ensuite réinitialise la fonction.