0
votes

Comment cacher tous les parents d'un enfant avec un attribut de données répétitif

3 Réponses :


2
votes

C'est assez simple: vous pouvez itérer via votre collection de l'élément et vérifier si son DataSet.eventide code> est présent dans un ensemble unique, cela peut être effectué en tirant parti de ES6'S SET () CODE> , qui stocke VALEURS UNIQUES STRAND> (Donc, cela sert de dictionnaire). Pour chaque itération, vous:

  1. Vérifiez si le EventID code> est dans l'ensemble. Si c'est le cas, retirez le nœud li>
  2. Stockez le EventID code> dans votre ensemble unique pour une comparaison future. Li> ol>

    p>

    <div>
      <a data-event-id="87" href="https://google.com">1</a>
    </div>
    <div>
      <a data-event-id="48" href="https://google.com">2</a>
    </div>
    <div>
      <a data-event-id="87" href="https://google.com">3</a>
    </div>
    <div>
      <a data-event-id="20" href="https://google.com">4</a>
    </div>
    <div>
      <a data-event-id="48" href="https://google.com">5</a>
    </div>


0 commentaires

2
votes

avec jQuery, vous pouvez interroger pour tous les éléments a-éléments et itérer sur eux. Vous pouvez suivre une trace des identifiants d'événements connus avec un tableau où vous ajoutez des identifiants événementiels nouvellement découverts. Si l'ID est déjà dans cette matrice, cachez-vous simplement l'élément parent.

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <a data-event-id="87" href="https://google.com">1</a>
</div>
<div>
  <a data-event-id="48" href="https://google.com">2</a>
</div>
<div>
  <a data-event-id="87" href="https://google.com">3</a>
</div>
<div>
  <a data-event-id="20" href="https://google.com">4</a>
</div>
<div>
  <a data-event-id="48" href="https://google.com">5</a>
</div>


2 commentaires

Merci pour le code mais malheureusement, cela ne fonctionne pas sur mon HTML original (rien ne se passe). Je l'ai vérifié avec le HTML simplifié et cela fonctionne. Peut-être que c'est parce que j'ai plusieurs data-event-id-id = "" dans ce

élément. Est-il possible de sélectionner uniquement le parent
, s'il est class = "mec-maçonnerie-élément-wrap" peut-être que cela ferait ce truc.


Dans ce cas, vous pouvez l'essayer avec $ (ceci) .Clossest (".mec-maçonner-élément-wrap") .hide (); au lieu de $ (ceci) .parent ( ) .Hide (); .



0
votes

Vous pouvez également utiliser : non (: premier) "). Supprimer (); xxx

voir FIDDLE


1 commentaires

Identique à une autre réponse, il s'agit de parent, vous avez besoin: var i; pour (i = 0; i <10; i ++) {$ ("data-event-id-id $ = '" + i + "']: non (: premier)"). Parent (). Supprimer (); }