Heim > Web-Frontend > js-Tutorial > Hauptteil

Tutorial zum Unterschied zwischen parent(), parent() und parentUntil() in JQuery und wie man es verwendet

巴扎黑
Freigeben: 2017-06-24 09:28:18
Original
1983 Leute haben es durchsucht

parent() ist eigentlich sehr einfach, es gibt lediglich die äußere Ebene jedes Elements im Selektor an. Beispiel: $("p"), dann sind das Ergebnis Daten, die in

eingeschlossen sind, wie zum Beispiel:

. Wenn mehrere

vorhanden sind, ist die Ergebnismenge eine Menge von -Objekten . Sie können zum Suchen eq(i), first(), last() verwenden. Wenn die Daten

  • sind, ist das Abfrageergebnis leer, da die äußere Ebene von

    ist < ;p>.

    JQueryIm Handbuch kann

    <p><p>Hello</p></p><p class="selected"><p>Hello Again</p></p>
    Nach dem Login kopieren
    <pre class="brush:php;toolbar:false">$("p").parent(".selected");
    Nach dem Login kopieren
    //结果:
    Nach dem Login kopieren
    [ <p class="selected"><p>Hello Again</p></p> ]
    Nach dem Login kopieren

    als

    $("p").parent().find(".selected");
    Nach dem Login kopieren
    Suchen Sie ein oder mehrere Objekte, deren direkte übergeordnete Klasse ausgewählt ist.

    parent() ist also nicht sehr praktisch.

    parents() sind alle übergeordneten Elemente jedes Elements im Selektor. Wenn der Selektor mehrere übergeordnete Elemente hat, wird eine Ergebnismenge zurückgegeben. Die Ergebnisse der Ergebnismenge werden von der inneren zur äußeren Schicht geordnet. Die äußerste Ebene ist das gesamte

    HTML-Element, und die erste ist das Element, das jedes Element im Selektor eng umschließt. Die Ergebnismenge enthält keine doppelten Elemente.

    In ähnlicher Weise wird bei der Verwendung von Parametern das angegebene Element auch in der Ergebnismenge gefunden

    $("p").parents(".selected");
    Nach dem Login kopieren
    $("p").parents().find(".selected");
    Nach dem Login kopieren
    Wenn wir also ein bestimmtes übergeordnetes Element des Selektors finden möchten, müssen wir dies tun Finde zuerst alle seinen Vater und dann diesen Vater.

    Wenn wir ein übergeordnetes Element des aktuellen Elements finden möchten, wird die folgende Syntax verwendet.

    $(this).parents("li");//$(this).parents().find("li");
    Nach dem Login kopieren
    Eltern() ist also sehr praktisch. Sehr häufig verwendet.

    parentsUntil(expr). Wenn parent() alle übergeordneten Elemente jedes Elements im Selektor im gesamten HTML-Element finden soll, besteht die Funktion von parentUntil() darin, den Suchumfang einzuschränken. Dieser Bereich ist $(expr).html()

    $("p").parents();//包含整个html 元素$("p").parentsUntil("html");//不包含整个html元素
    Nach dem Login kopieren
    Die Ergebnismengen der beiden oben genannten

    Ausdrücke unterscheiden sich nur durch ein Element, nämlich das gesamte HTML-Element.

    $("p").parents();//包含整个html 元素$("p").parentsUntil();//包含整个html元素
    Nach dem Login kopieren
    Wenn parentUntil() keine Parameter annimmt, entspricht es parent();

    Die Ergebnisse in der Ergebnismenge von parentUntil(expr) werden ebenfalls von der inneren Ebene nach angeordnet die äußere Schicht. parentUntil(expr) sucht Schicht für Schicht nach außen, beginnend beim ersten übergeordneten Element, das das Element umschließt, bis es auf das erste Element trifft, das dem Ausdruck (expr) entspricht.

    $("p").parentsUntil(expr);
    Nach dem Login kopieren
    entspricht der Suche aller übergeordneten Elemente jedes Elements in $("p") innerhalb und außerhalb von $(expr)

    Um das angegebene Element zu finden Genauer gesagt können die Elemente wie folgt verwendet werden.

    $("p").parentsUntil("ul").find("li");
    Nach dem Login kopieren
    Aber die obige Methode kann ul>li nicht finden, sondern nur ul * li. Da parentUntil() das größte übergeordnete Element in der Ergebnismenge ul>* zurückgibt, dient find dazu, Elemente zu finden, die ul>* nicht in den Nachkommenelementen von ul>* enthalten. Wenn es also nicht möglich ist, diese Methode zu verwenden, um ul>li zu finden

    Sie können den folgenden Code verwenden, um li unter allen uls (erste Zeile) und alle li unter dem nächsten ul (zweite Zeile) abzufragen

    $("p").parents("ul").find("li");$("p").parents("ul").eq(0).find("li");
    Nach dem Login kopieren
    parentsUntil(expr), die zurückgegebene Ergebnismenge enthält nicht expr selbst, und wenn Sie find() später verwenden, werden die untergeordneten Elemente der Ergebnismenge abgefragt, sodass das Abfrageergebnis dies nicht ist die untergeordneten Elemente von expr, aber zwei Unterelemente nach der ersten und zweiten Generation.

    Aufgrund der Leistung von parentUntil wird die Verwendung generell nicht empfohlen.

    parnetsUntil() kann verwendet werden, um bestimmte Elemente unter einem Modul zu finden.

    Wenn wir speziell ein Element in der Ergebnismenge bearbeiten möchten, müssen wir daran denken, eq(i), first(), last() und andere

    Funktionen zu verwenden, um den Wert zu erhalten Andernfalls ist die Operation die gesamte Ergebnismenge.

    Dynamische Suche nach übergeordneten Knoten

    $(this).parent("li");//找到第一个包住$(this)的dom,如这个dom是li则返回他的对象,如果不是则返回空对象$(this).parents("li");//找到所有$(this)的父亲,并在其中找出所有的li的对象,组成结果集。结果集中结果由内之外排列$(this).parents().find("li");//同上。$(this).parents("li").eq(0);//$(this)外第一个包裹他的li对象$(this).parentsUntil("li");//$(this)外到第一个包裹他的li之内的所有的$(this)的父亲$(this).parentsUntil("ul").find("li");//$(this)在ul之前的那个父亲之内(不包括该父亲)找所有的li;如果<ul><li><p><a onclick="f()">中a是this的话,那么相当于$("li").find("li");最后结果之空。$(this).parents("li").sublings();//查找所在的li的所有同辈元素
    Nach dem Login kopieren
    Die Funktion, die parent() entspricht, istchildren()

    Die Funktion, die parent() entspricht, ist find()

    Das obige ist der detaillierte Inhalt vonTutorial zum Unterschied zwischen parent(), parent() und parentUntil() in JQuery und wie man es verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!