Cet article analyse plus en détail la méthode hasClass() d'interprétation du code source jQuery. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
jQuery.fn.extend({
HasClass : fonction (sélecteur) {
// Attribuez le sélecteur de nom de classe à vérifier à className, et l est la longueur du tableau d'objets jQuery actuellement à vérifier sélectionné par le sélecteur.
var className = " " sélecteur " ",
i = 0,
l = this.length;
//Boucle pour vérifier le nom de classe de chaque élément DOM
pour ( ; je < l; je ) {
//this[i].nodeType === 1, détermine le type de nœud du nœud DOM actuel, 1 représente le nœud de l'élément.
//this[i].className, récupère le nom de classe existant du nœud DOM actuel.
//rclass = /[trnf]/g, replace(rclass, " ") signifie supprimer les caractères de tabulation, les caractères de saut de ligne, les caractères de retour chariot, etc. dans le nom de classe du nœud DOM actuel.
//indexOf(className), commencez à rechercher le nom de classe du nœud DOM actuel pour voir s'il existe le nom de classe que vous souhaitez vérifier. Si >=0, cela signifie qu'il existe, retournez vrai et quittez la fonction. .
If ( this[i].nodeType === 1 && (" " this[i].className " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
return true ;
}
>
// Une fois la vérification de la boucle terminée, il s'avère que le nom de classe que vous souhaitez vérifier n'est pas trouvé dans chaque élément DOM, puis retournez false et quittez la fonction.
//On peut voir que tant que le nom de classe d'un élément DOM dans votre tableau d'objets jQuery contient le nom de classe que vous recherchez, il retournera vrai et sortira de la fonction.
return false ;
>
});
J'espère que cet article sera utile à la programmation jQuery de chacun.
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn