In diesem Artikel wird die hasClass()-Methode der jQuery-Quellcode-Interpretation detaillierter analysiert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
jQuery.fn.extend({
HasClass: Funktion( Selektor) {
// Weisen Sie den zu prüfenden Klassennamen-Selektor dem Klassennamen zu, und l ist die Länge des aktuell zu prüfenden jQuery-Objektarrays, das vom Selektor ausgewählt wurde.
var className = " " selector " ",
i = 0,
l = this.length;
//Schleife zur Überprüfung des Klassennamens jedes DOM-Elements
für ( ; i < l; i ) {
//this[i].nodeType === 1, Bestimmen Sie den Knotentyp des aktuellen DOM-Knotens, 1 repräsentiert den Elementknoten.
//this[i].className, ruft den vorhandenen Klassennamen des aktuellen DOM-Knotens ab.
//rclass = /[trnf]/g, replace(rclass, „“) bedeutet, Tabulatorzeichen, Zeilenvorschubzeichen, Wagenrücklaufzeichen usw. im aktuellen Klassennamen des DOM-Knotens zu entfernen.
//indexOf(className), beginnen Sie mit der Suche nach dem Klassennamen des aktuellen DOM-Knotens, um zu sehen, ob es den Klassennamen gibt, den Sie überprüfen möchten. Wenn >=0 bedeutet, dass er existiert, geben Sie true zurück und verlassen Sie die Funktion .
If ( this[i].nodeType === 1 && (" " this[i].className " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
return true;
}
}
// Nach Abschluss der Schleifenprüfung wird festgestellt, dass der zu überprüfende Klassenname nicht in jedem DOM-Element gefunden wird. Geben Sie dann false zurück und verlassen Sie die Funktion.
// Es ist ersichtlich, dass, solange der Klassenname eines DOM-Elements in Ihrem jQuery-Objektarray den gesuchten Klassennamen enthält, true zurückgegeben wird und die Funktion verlassen wird.
return false;
}
});
Ich hoffe, dass dieser Artikel für alle bei der jQuery-Programmierung hilfreich sein wird.