0
votes

Comment faire uniquement des éléments qui ont des identifiants cliquant?

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> xxx pré>

avec p> xxx pré>

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>


5 commentaires

Vérifiez si cela a un identifiant?


Vous n'avez pas d'éléments avec classname div


Sélectionnez les éléments ayant un identifiant: document.Quiseryselectorall ('[id]'); .


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?


4 Réponses :


0
votes

Vous pouvez sélectionner par classe comme ceci:

p>

<button id="a">1</button>
<button class="a">2</button>
<button class="a">2</button>


0 commentaires

1
votes

Voici une solution où des clics sur des éléments avec attribut existant ID code> sont traités. Vous pouvez ajouter sinon code> à la section JS pour traiter tous les autres cliqués sur div code>.

p>

var div = document.getElementsByTagName("div");

[...div].forEach( (el) => {
    el.onclick = function(e) {
            e.stopPropagation();
            e.target.id &&  alert(this.id);
        }
});


1 commentaires

Stackoverflow.com/questions/56280742/... Merci de votre réponse. Je peux vous demander de répondre à la question suivante dans le lien



0
votes

Vous pouvez sélectionner tous les éléments avec un identifiant comme celui-ci:

document.queryselectorall ('[id]'); code> p>

alors vous pouvez utiliser un événement auditeur pour vos clics. p>

p>

<div id="parent">
  <div id="child"></div>
</div>

<div class="parentclass">
  <div class="childclass"></div>
</div>


0 commentaires

1
votes

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 );
     }
});


0 commentaires