Bei der Arbeit mit einem Code-Chunk wie dem folgenden versuche ich, einen eindeutigen Klassennamen zu jeder Instanz der Klasse "duplicated-class" hinzuzufügen, die sich auf demselben Element befindet die Klasse "Affiliate-Logo".Identifizieren Sie doppelte Klassen in separaten geschachtelten Gruppen
Wichtige Hinweise:
- "dupliziert-Klasse" steht für eine dynamische Variable, dass alles, was sein könnte.
- Das gewünschte Ergebnis ist die duplizierten Klassen mit einer Ziffer ('.class--1' ,' .class--2' ,‘.class--3' , etc ....
Hier ist anzuhängen ein Beispiel der Code-Struktur:
<div id="integrations">
<div class="post-item" data-name="name">
<div class="rss-card" style="">
<div class="hs-rss-item">
<div class="rss-item-banner">
<img class="hs-rss-featured-image" src="" alt="">
<div class="affiliate-logo duplicate-class"><img src="" alt=""></div>
</div>
</div>
</div>
</div>
<div class="post-item" data-name="name">
<div class="rss-card" style="">
<div class="hs-rss-item">
<div class="rss-item-banner">
<img class="hs-rss-featured-image" src="" alt="">
<div class="affiliate-logo duplicate-class"><img src="" alt=""></div>
</div>
</div>
</div>
</div>
<div class="post-item" data-name="name">
<div class="rss-card" style="">
<div class="hs-rss-item">
<div class="rss-item-banner">
<img class="hs-rss-featured-image" src="" alt="">
<div class="affiliate-logo different-class"><img src="" alt=""></div>
</div>
</div>
</div>
</div>
</div>
die post-item
Gruppe aus einem COS-Eintrag mit der ‚Duplikat-Klasse‘ erzeugt wird gezogen von dem {{namen}} Wert, der für doppelte Werteinträge zulassen muss
Während ich Methoden zum Erstellen von Klassenlisten für direkte finden kann Nachkommen der Wrapping-ID, ich kann scheinbar nichts finden (oder herausfinden), das das Ergebnis der Suche nach der "Duplicate-Klasse" erzeugt, während es tiefer in der erzeugten Struktur verschachtelt ist.
Meine ersten Gedanken sind:
- Identifizieren Sie die
post-item
Gruppen - Finden Sie die '.affiliate-Logo' Klasse innerhalb jeder Gruppe
post-item
- Identifizieren Sie die zweite Klasse neben‘.affiliate-Logo '(in diesem Beispiel:
.duplicate-class
) und weisen Sie es einer Variablen zu (var = adjacentClass
) < - hier geht es mir bei der Durchführung dieser Prüfung verloren. - Überprüfen Sie, ob (beachedClass) mit anderen (beachedClass) aus anderen
post-item
Gruppen übereinstimmt. - Verwenden Zähler als eindeutige Kennung zusätzlich (
var i = i
) if(adjacentClass === adjacentClass){ $(".duplicate-class').replaceClass('adjacentClass' + i) } else {}
zu handeln (ich würde in Javascript tatsächlich versuchen, diese Logik schreiben, wenn ich Schritt 3 herausfinden kann)
Beliebig Hilfe, die für dieses Problem angeboten werden kann, wäre sehr willkommen.
Artikel Ich habe eine Lösung zu finden, bei dem Versuch verwiesen:
How find nested div with same class name in jquery?
How do I access the list of classnames using javascript/jQuery?
jquery select class inside parent div
Target the 2nd instance of a CSS Class
** Bearbeitet Terminologie Konflikt
Entschuldigung, lassen Sie mich ein wenig verdeutlichen: Ich würde gerne in der Lage sein, die 'Duplicate-Klasse' Elemente zu finden und dann einen eindeutigen Wert zu dieser Klasse hinzuzufügen (d. H. die erste 'duplicate-class' wird zu 'duplicate-class-1', die zweite zu 'duplicate-class-2'. –
Haben Sie die Geschwister von jquery() angeschaut? Das kann mit einem Selektor gemacht werden, so dass Sie einfach irgendein Geschwister des gegebenen Knotens mit der gewählten Klasse bekommen können. – Snowmonkey
Ich habe über Geschwister() nachgedacht, aber ich kann nicht herausfinden, wie man die Elemente findet, die die gleiche Klasse von einer getrennten geschachtelten Gruppe haben würden. dh finden Sie alle '.affiliate-group.name-a' Combos auf der Seite und ändern Sie dann nur die '.name-a' Klassen als eindeutige Klassen ('.name-a-1, .name-a -2, etc ... ') –