Chaque div est cliquée (JavaScript).
Comment le faire de telle sorte que seuls les éléments avec un identifiant soient cliqués et que des éléments avec une classe ne sont pas cliqués? p>
y a-t-il une option de remplacement: p> avec p> j'ai essayé mais n'a pas fonctionné p> p> <div id="parent">
<div id="child"></div>
</div>
<div class="parentclass">
<div class="childclass"></div>
</div>
4 Réponses :
Vous pouvez sélectionner par classe comme ceci:
p>
<button id="a">1</button> <button class="a">2</button> <button class="a">2</button>
Voici une solution où des clics sur des éléments avec attribut existant p> ID code> sont traités. Vous pouvez ajouter
sinon code> à la section JS pour traiter tous les autres cliqués sur
div code>.
var div = document.getElementsByTagName("div");
[...div].forEach( (el) => {
el.onclick = function(e) {
e.stopPropagation();
e.target.id && alert(this.id);
}
});
Stackoverflow.com/questions/56280742/... Merci de votre réponse. Je peux vous demander de répondre à la question suivante dans le lien
Vous pouvez sélectionner tous les éléments avec un identifiant comme celui-ci:
alors vous pouvez utiliser un événement auditeur pour vos clics. p> p> document.queryselectorall ('[id]'); code> p>
<div id="parent">
<div id="child"></div>
</div>
<div class="parentclass">
<div class="childclass"></div>
</div>
Mis à part la substitution évidente de getelementsbytagname code> avec
document.queryselectorall ('div [id]') code> Pour sélectionner uniquement
div (code> div Un attribut code> ID code>, je vous suggère de déléguer cet événement et de gérer la pièce
ID code> dans l'auditeur. De cette façon, il n'y a qu'une seule fonction de gestionnaire, et elle fonctionnera avec des éléments pouvant être ajoutés / modifiés dans le DOM plus tard.
document.body.addEventListener( 'click', function(e){
var target = e.target;
if( target.id ){
console.log( target.id );
}
});
Vérifiez si cela a un identifiant?
Vous n'avez pas d'éléments avec classname
div code>
Sélectionnez les éléments ayant un identifiant:
document.Quiseryselectorall ('[id]'); code>.
Vous auriez pu facilement copier et collé l'extrait de Votre dernière question avec ce même code , BTW ...
Pour cette question, qu'en est-il de si l'élément a à la fois un identifiant et une classe?