jquery find, um das erste Element zu erhalten

Lesezeit: 3 Minuten

Ich schreibe $(this).closest('.comment').find('form').toggle('slow'); und das Problem ist, dass jede der Formen im Kind umgeschaltet wird. Ich möchte, dass nur das erste Formular umgeschaltet wird. das html sieht so aus wie unten und das ist der link

<div comment>
<a href>
<form>
</form>
    <a href>
    <div comment>
    <form>
    </form>
    </div>
</div>

  • Darauf haben Sie bereits eine gute Antwort erhalten, aber nehmen Sie sich beim nächsten Mal bitte die Zeit, sich die Dokumentation anzusehen. JQuery ist ziemlich gut dokumentiert, und Sie hätten das gefunden :first einfach selbst auswählen, wenn Sie nur danach gesucht hätten … docs.jquery.com/Main_Page

    – Tomás Aschan

    1. Februar 2010 um 0:15 Uhr

  • Ich habe es getan und konnte es nicht finden. Ich bin schlecht in jquery und dies ist mein 2. Mal, dass ich es benutze. Ich habe gerade die Grundlagen aufgegriffen und verbringe bereits 1 Stunde mit dieser und meiner vorherigen Frage

    Benutzer34537

    1. Februar 2010 um 0:19 Uhr

  • Vielleicht haben Sie nicht in api.jquery.com, sondern in der alten Dokumentation unter docs.jquery.com nachgesehen, und ich muss zugeben, dass es aufgrund der alten Dokumentationsstruktur früher sehr schwierig war, einfache API-Funktionen wie diese zu finden eines.

    – nikola

    1. Februar 2010 um 0:25 Uhr

Sie können beide verwenden

$(this).closest('.comment').find('form').eq(0).toggle('slow');

oder

$(this).closest('.comment').find('form:first').toggle('slow');

  • zweite Option funktionierte für mich, ich musste zuerst div jQuery(this).closest(‘.divmodule’).find(‘div:first’).attr(‘class’));

    – Karl

    15. Oktober 2013 um 6:05 Uhr


  • FYI, $(‘.foo:first’) ist um einiges langsamer als $(‘.foo’).first(). jsperf.com/jquery-first-vs-first-vs-eq-0-vs-0/2

    – Malcolm Dwyer

    3. Dezember 2013 um 22:22 Uhr


  • Wenn Ihnen Leistung wirklich am Herzen liegt, native getElementsByTagName ist viel, viel schneller: jsperf.com/jquery-first-vs-first-vs-eq-0-vs-0/16

    – Kuba Holuj

    27. August 2014 um 17:39 Uhr

  • Durchläuft dies zuerst den Baum und wählt dann das erste Element aus? Oder hört es irgendwie auf, nachdem das erste Element gefunden wurde? Ich frage, weil ich es mit einem Baum mit Hunderten von verschachtelten Knoten zu tun habe, aber nur das erste passende Element auswählen möchte. Ich frage mich, ob diese Methode für diesen Fall grob ineffizient ist.

    – Jesse Aldridge

    29. August 2014 um 3:30 Uhr


Benutzer-Avatar
Dhanasekar Murugesan

Verwenden :first Selektor wie unten:

$(this).closest('.comment').find('form:first').toggle('slow');

mit jquery verwenden Sie einfach:

    $( "form" ).first().toggle('slow');

Benutzer-Avatar
nikola

ich benutze

$([selector]).slice(0, 1)

weil es der expliziteste Weg ist, einen Abschnitt einer Abfrage auszuwählen, und weil es leicht geändert werden kann, um nicht mit dem ersten Element, sondern mit dem nächsten Element zu übereinstimmen usw.

Der einfachste Weg, um das erste Ergebnis von zu erhalten find ist mit guten alten [index] Operator:

$('.comment').find('form')[0];

Klappt wunderbar!

Benutzer-Avatar
Entwickler

Verwenden Sie das folgende Beispiel für jquery find, um das erste Element zu erhalten

Weitere Filtermethoden mit Demo

$(document).ready(function(){
  $(".first").first().css("background-color", "green");
});
.first{
    padding: 15px;
    border: 12px solid #23384E;
    background: #28BAA2;
    margin-top: 10px;
}
<!DOCTYPE html>
<html>
<head>
<title>jQuery First Method Example By Tutsmake</title> 
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> 
</head>
<body>
 
<h1>This is first() method example</h1>
 
<div class="first">
  <p>A paragraph in a div.</p>
  <p>Another paragraph in a div.</p>
</div>
<br>
 
<div class="first">
  <p>A paragraph in another div.</p>
  <p>Another paragraph in another div.</p>
</div>
<br>
 
<div class="first">
  <p>A paragraph in another div.</p>
  <p>Another paragraph in another div.</p>
</div>
 
</body>
</html>

Benutzer-Avatar
Niraj Patel

kannst du so verwenden

$(this).find('>.comment').find('>form').toggle('slow');

1017870cookie-checkjquery find, um das erste Element zu erhalten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy