Ich möchte das erste übergeordnete Element erhalten, das ein bestimmtes Klassenpräfix hat. Nehmen wir an:
<div class="div-a3332">
<div class="div-a89892">
<p>
<div class="div-b2">
<div id="divid">hi</div>
</div>
</p>
</div>
</div>
Zum Beispiel ist mein aktuelles Element #divid
und ich möchte das erste Element finden, das das Klassenpräfix div-a hat. Im Grunde wird es also auswählen:
<div class="div-a89892">
jquery
jquery-selectors
Zeitreise
quelle
quelle
<div class='a'>
, dann geben Sie Regeln fürdiv.a
. Ich weiß eigentlich nicht, warum Siediv
den Klassennamen überhaupt eingeben.Antworten:
Verwendung
.closest()
mit einem Selektor:quelle
div
Elementauswahl :$('#divid').closest('[class^="div-a"]')
. Wie @Stefan jedoch kommentierte, sollten Sie wirklich mehrere Klassen verwenden.Mit Jquery konnten Sie später die Eltern mit der
.parents()
Methode finden.Daher empfehle ich:
Dies gibt alle übergeordneten Knoten an, die mit dem Selektor übereinstimmen. Um das erste übergeordnete Element mit dem Selektor abzugleichen, verwenden Sie:
Weitere Informationen zu solchen DOM-Durchquerungsabfragen finden Sie in der Dokumentation zum Durchlaufen des DOM .
quelle