mouseover()/mouserout()
Mouseover/Mouseout-Ereignisse werden ausgelöst, wenn die Maus ein Element oder seine untergeordneten Elemente betritt/verlässt.
Das Mouseover-Ereignis wird am häufigsten zusammen mit dem Mouseout-Ereignis verwendet.
Aufgrund des Bubbling-Mechanismus werden Mouseover-/Mouserout-Ereignisse oft versehentlich ausgelöst, wenn sie nicht benötigt werden, was zu einigen Skriptproblemen führt.
mouseenter()/mouseleave()
mouseenter/mouseleave wird nur dann ausgelöst, wenn die Maus das ausgewählte Element betritt. Es wird nicht ausgelöst, wenn die Maus durch ein untergeordnetes Element geht. Es spielt keine Rolle, ob das Zielelement untergeordnete Elemente hat.
focusin() und focusout()
.focusin(): Dieses Ereignis wird ausgelöst, wenn ein Element oder seine Unterelemente den Fokus
erhalten
.focusout(): Dieses Ereignis wird ausgelöst, wenn ein Element oder seine untergeordneten Elemente den Fokus verlieren
Im Gegensatz zur Methode focus() wird die Methode focusin() auch ausgelöst, wenn ein untergeordnetes Element den Fokus erhält.
focusin fire
focusin fire
eq() und get()
.get(): Ruft ein entsprechendes DOM-Element über das jQuery-Objekt ab.
.eq(): Konstruiert ein neues jQuery-Objekt aus einem Element der Sammlung
eq gibt ein jQuery-Objekt zurück und get gibt ein DOM-Objekt zurück. Zum Beispiel:
$( "li" ).get( 0 ).css("color", "red"); //Fehler
$( "li" ).eq( 0 ).css("color", "red"); //Richtig
Was ist also ein DOM-Objekt und was ist ein jQuery-Objekt?
Das DOM-Objekt ist ein Objekt, das mit js erhalten wurde, und das Juqery-Objekt ist ein Objekt, das mit dem Selektor der jQuery-Klassenbibliothek erhalten wurde.
Zum Beispiel: var $obj = $("div");//jQuery-Objekt
Die get-Methode konvertiert im Wesentlichen das jQuery-Objekt in ein DOM-Objekt, aber CSS gehört zum jQuery-Konstruktor und diese Methode existiert nicht im DOM. Wenn wir die jQuery-Methode verwenden müssen, müssen wir so schreiben:
filter()
filter()-Methode: Filtert den Satz von Elementen heraus, die dem angegebenen Ausdruck entsprechen.
Diese Methode wird verwendet, um den Übereinstimmungsbereich einzugrenzen. Trennen Sie mehrere Ausdrücke durch Kommas.
filter(expression): (String|Function) Wenn der Parameter eine Zeichenfolge ist, wird ein jQuery-Selektor so formuliert, dass alle Elemente, die nicht mit dem Selektor übereinstimmen, aus dem Verpackungssatz entfernt werden, sodass nur die Elemente übrig bleiben, die mit dem Selektor-Element übereinstimmen ; wird verwendet, um Filterkriterien zu bestimmen, wenn das Argument eine Funktion ist. Diese Funktion wird einmal für jedes Element im Wrapping-Set aufgerufen. Jedes Element, das vom Funktionsaufruf „false“ zurückgibt, wird aus dem Wrapping-Set gelöscht.
Der folgende Code bedeutet: Behalten Sie das erste Element mit der ausgewählten Klasse bei
HTML-Code:
Hallo
Hallo nochmal
And Again
jQuery-Code:
Ergebnis:
Hallo
,And Again
Sehen Sie sich ein weiteres Beispiel einer Funktion an. Eine Funktion wird als Sammlung von Testelementen verwendet. Es akzeptiert einen Parameterindex, der der Index des Elements in der jQuery-Sammlung ist. In Funktionen bezieht sich dies auf das aktuelle DOM-Element.
HTML-Code:
Wie geht es dir?
jQuery-Code:
Ergebnis:
Wie geht es dir?
.bind(): Die einfachste Möglichkeit, Event-Handler zu binden, ist die Verwendung der .bind()-Methode. Es ist dasselbe wie die live()-Methode und akzeptiert zwei Parameter:
.bind(Ereignistyp, Ereignishandler)
Zwei Möglichkeiten, Event-Handler zu binden:
alarm("Hallo Welt!");
}
});
delegate()-Methode: Fügen Sie einen oder mehrere Event-Handler zum angegebenen Element (einem untergeordneten Element des ausgewählten Elements) hinzu,
Und geben Sie Funktionen an, die ausgeführt werden sollen, wenn diese Ereignisse auftreten. Ab jQuery 1.7 wurde .delegate() durch die Methode .on() ersetzt.
Syntax:
$(selector).delegate(childSelector,event type,function)
childSelector erforderlich. Gibt ein oder mehrere untergeordnete Elemente an, an die Ereignishandler angehängt werden.
Veranstaltung erforderlich. Gibt ein oder mehrere Ereignisse an, die dem Element zugeordnet werden sollen. Mehrere durch Leerzeichen getrennte Ereigniswerte. Muss ein gültiges Ereignis sein.
Funktion erforderlich. Gibt eine Funktion an, die ausgeführt werden soll, wenn ein Ereignis auftritt.
delegate() wird in den folgenden zwei Situationen verwendet:
1. Wenn Sie ein übergeordnetes Element haben und Ereignisse zu dessen untergeordneten Elementen hinzufügen müssen, können Sie den Code wie folgt verwenden:
$(this).hide();
});
2. Wenn das Element auf der aktuellen Seite nicht verfügbar ist, können Sie delegate()
verwendenend()-Methode
end()-Methode: Wird innerhalb der jquery-Befehlskette aufgerufen, um zum vorherigen Verpackungssatz zurückzukehren.
Jede Filtermethode wird auf den Stapel verschoben. Wenn wir zum vorherigen Status zurückkehren müssen, können wir mit end() eine Pop-Operation ausführen, um zum vorherigen Status im Stapel zurückzukehren.
end() beendet den letzten Filtervorgang in der aktuellen Kette und stellt den Satz übereinstimmender Elemente in seinem vorherigen Zustand wieder her.
Im obigen Codebeispiel sehen wir nur, dass sich die Schriftfarbe von Element 1 geändert hat, die Hintergrundfarbe jedoch nicht. Das liegt daran, dass
Der Status vor der zweiten find()-Methode hat ein Objekt mit einem Klassenwert von zwei in roter Schrift zurückgegeben. Daher sucht die zweite find()-Methode nur nach .two in
end() gibt hier den Zustand vor dem Aufruf von find() zurück, nämlich $('ul.one')
toggleClass()
`toggleClass()-Methode: `Wenn der angegebene Klassenname nicht im Element vorhanden ist, fügen Sie den angegebenen Klassennamen hinzu, wenn das Element bereits den angegebenen
hat
Klassenname, entfernt den angegebenen Klassennamen aus dem Element.
CSS-Methode (Name, Wert): Setzen Sie den angegebenen Wert auf das angegebene CSS-Stilattribut jedes übereinstimmenden Elements
wrap() und wrapInner()
`wrap() und wrapInner(): `Ersteres umschließt alle passenden Elemente mit den strukturierten Tags anderer Elemente;
Letzteres umhüllt den Unterinhalt (einschließlich Textknoten) jedes passenden Elements mit einer HTML-Struktur.
Schauen Sie sich das folgende Beispiel von wrap() an:
Verwenden Sie den Inhalt des ursprünglichen Div als Klasse des neuen Div und umschließen Sie jedes Element
Ergebnis:
Dann schauen Sie sich das folgende Beispiel von wrapInner() an:
Verwenden Sie den Inhalt des ursprünglichen Div als Klasse des neuen Div und umschließen Sie jedes Element
HTML-Code:
jQuery-Code:
Ergebnis:
Methoden trennen, leeren und entfernen
.detach([selector]): Alle passenden Elemente aus dem DOM entfernen. Wenn Sie ein Element entfernen und es dann bald in das DOM einfügen müssen, müssen Sie die Detach-Methode verwenden.
.empty(): Diese Methode entfernt nicht nur untergeordnete Elemente (und andere untergeordnete Elemente), sondern auch den Text innerhalb des Elements. Denn gemäß den Anweisungen wird jede Textzeichenfolge im Element als untergeordneter Knoten des Elements betrachtet.
.remove( [selector ] ): Entfernen Sie das Element aus dem DOM und entfernen Sie die Ereignisse und jQuery-Daten auf dem Element
Beispiel für empty():
Sehen Sie sich das folgende Remove()-Beispiel an:
Beschreibung: Alle Absätze aus DOM löschen
HTML-Code:
Hallo
Wie geht esDir?
jQuery-Code:
Ergebnis:
Wie geht es?
val()-Methode
val(): Ermittelt den aktuellen Wert des passenden Elements.
Beschreibung: Rufen Sie den Wert im Textfeld
jQuery-Code:
jQuery-Code:
each() und map()
each()- und map()-Methoden: Jede gibt das ursprüngliche Array zurück und erstellt kein neues Array. Die Kartenmethode gibt ein
zurück
neues Array. Wenn die Karte unnötig verwendet wird, kann es zu Speicherverschwendung kommen.
jede Methode:
Definieren Sie ein leeres Array und fügen Sie dem Array über die Methode „each“ ID-Werte hinzu. Nachdem Sie das Array in eine Zeichenfolge konvertiert haben, geben Sie den Wert an;
Kartenmethode:
Führen Sie jedes :Kontrollkästchen aus, um this.id zurückzugeben und diese Rückgabewerte automatisch als jQuery-Objekte zu speichern. Verwenden Sie dann die Get-Methode, um sie in native Javascript-Arrays zu konvertieren, und verwenden Sie dann die Join-Methode, um sie in Zeichenfolgen umzuwandeln endlich diesen Wert alarmieren;
Für eine ausführlichere Diskussion klicken Sie bitte auf meinen anderen Artikel: Detaillierte Erläuterung der Verwendung der in jQuery integrierten Funktionen „map()“ und „each()“
$.each()
Die Funktion $(selector).each() von jQuery kann die ausgewählten untergeordneten Elemente der Schleife durchlaufen, während die Funktion $.each() von jQuery jede Sammlung durchlaufen kann, einschließlich Objekten und Arrays. Sie empfängt die zu durchlaufende Sammlung und a Rückruffunktion: Die Rückruffunktion übergibt jedes Mal einen Array-Index und den Wert des Arrays, der dem Index entspricht.
$.each(array,callback);
$.each(object,callback);
Array-Instanz
DEMO:
Index 1: zwei;
Index 2: drei
Objektinstanz
alarm( "Schlüssel: " k ", Wert: " v );
});
Rückruf(Schlüssel,Wert)
Demo:
Schlüssel: Alter, Wert: 21
.trigger()
Jeder über .on() oder eine Shortcut-Methode gebundene Event-Handler wird ausgelöst, wenn das entsprechende Ereignis eintritt. Sie können jedoch manuell mit der .trigger()-Methode
ausgelöst werden
.attr() und .prop()
.attr(): Ruft den Wert des Attributs des ersten Elements im Satz übereinstimmender Elemente ab oder legt ein oder mehrere Attribute jedes übereinstimmenden Elements fest.
.prop(): Dasselbe wie oben
Vor jQuery 1.6 gab die Methode .attr() den Wert einer Eigenschaft zurück, wenn sie den Wert bestimmter Attribute übernahm, was zu inkonsistenten Ergebnissen führte. Ab jQuery 1.6 gibt die Methode .prop() den Wert der Eigenschaft und die Methode .attr() den Wert der Attribute zurück.
Zum Beispiel sollten selectedIndex, tagName, nodeName, nodeType,ownerDocument, defaultChecked und defaultSelected mit der Methode .prop() abgerufen oder zugewiesen werden.
Sie haben keine entsprechenden Attribute, sondern nur Eigenschaften.
.after() und .insertAfter()
1.after()
Beschreibung:
Fügen Sie nach allen Absätzen ein jQuery-Objekt (ähnlich einem Array von DOM-Elementen) ein.
HTML-Code:
Ich möchte sagen:
jQuery-Code:
Ergebnis:
Ich möchte sagen:
Hallo2.insertAfter()
Beschreibung:
Fügen Sie alle Absätze nach einem Element ein. Identisch mit $("#foo").after("p")
HTML-Code:
Ich möchte sagen:
jQuery-Code:
Ergebnis:
Ich möchte sagen:
.before() und .insertBefore()
3.before()
Beschreibung:
Fügen Sie vor allen Absätzen ein jQuery-Objekt (ähnlich einem Array von DOM-Elementen) ein.
HTML-Code:
Ich möchte sagen:
HallojQuery-Code:
Ergebnis:
Hallo
Ich möchte sagen:
.append() und .appendTo()
4.append()
Beschreibung: An alle Absätze einige HTML-Tags anhängen.
HTML-Code:
Ich möchte sagen:
jQuery-Code:
Ergebnis:
Ich möchte sagen: Hallo
5.appendTo()
Beschreibung: Fügen Sie dem div einen neuen Absatz hinzu und fügen Sie eine Klasse hinzu
HTML-Code:
jQuery-Code:
Ergebnis:
.prepend() und .prependTo()
6.prepend()
Beschreibung: Stellen Sie allen Absätzen ein jQuery-Objekt (ähnlich einem Array von DOM-Elementen) voran.
HTML-Code:
Ich möchte sagen:
HallojQuery-Code:
$("p").prepend( $("b") );
Ergebnis:
HalloIch möchte sagen:
7.prependTo()
Beschreibung: Alle Absätze an das Element mit dem ID-Wert foo anhängen.
HTML-Code:
Ich möchte sagen:
jQuery-Code:
Ergebnis:
Ich möchte sagen:
Zusammenfassung
1. .insertAfter() und .after(): Elemente von außerhalb vorhandener Elemente einfügen
2. .insertBefore() und .before(): Elemente von vorne außerhalb der vorhandenen Elemente einfügen
3. .appendTo() und .append(): Elemente von hinten in vorhandene Elemente einfügen
4. .prependTo() und .prepend(): Elemente