Heim  >  Artikel  >  Web-Frontend  >  Tutorial zum Unterschied zwischen parent(), parent() und parentUntil() in JQuery und wie man es verwendet

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

巴扎黑
巴扎黑Original
2017-06-24 09:28:181989Durchsuche

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>
    <pre class="brush:php;toolbar:false">$("p").parent(".selected");
    //结果:
    [ <p class="selected"><p>Hello Again</p></p> ]

    als

    $("p").parent().find(".selected");
    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");
    $("p").parents().find(".selected");
    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");
    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元素
    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元素
    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);
    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");
    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");
    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的所有同辈元素
    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!

Stellungnahme:
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