Maison  >  Article  >  interface Web  >  Une brève discussion sur chaque méthode dans Jquery

Une brève discussion sur chaque méthode dans Jquery

青灯夜游
青灯夜游avant
2021-01-02 17:55:423138parcourir

Cet article vous présentera chaque méthode dans Jquery. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Une brève discussion sur chaque méthode dans Jquery

Tutoriel recommandé : Tutoriel jQuery

<strong>jQuery.each( object, callback,arg)</strong>

la fonction each() est essentiellement toute le framework fournit une fonction outil grâce à laquelle vous pouvez parcourir les valeurs d'attribut des objets et des tableaux et les traiter.

Les objets jQuery et jQuery implémentent cette méthode. Pour les objets jQuery, la méthode each est simplement déléguée : l'objet jQuery est passé comme premier paramètre à la méthode each de jQuery. Autrement dit : chaque méthode fournie par jQuery appelle la méthode un à un sur tous les sous-éléments de l'objet fourni par le paramètre 1. Chaque méthode fournie par l'objet jQuery appelle les sous-éléments de jQuery un par un.

   jQuery.prototype.each = function(fn, args) {
        return jQuery.each(this, fn, args);
    }

Jetons un coup d'œil à l'implémentation spécifique de chaque méthode fournie par jQuery

jQuery.each(obj,fn,arg)

Cette méthode a trois paramètres : l'objet obj pour l'opération, la fonction fn pour l'opération et le paramètres de fonction arguments.

Discutons en fonction de l'objet ojb :

1. L'objet obj est un tableau

Chaque méthode appellera la fonction fn une par une sur le sous- éléments du tableau jusqu'à un certain temps. Jusqu'à ce que le résultat renvoyé par l'élément enfant soit faux, c'est-à-dire que nous pouvons le traiter avec la fonction fn fournie et quitter chaque appel de méthode une fois qu'il remplit certaines conditions. Lorsque la méthode each fournit le paramètre arg, le paramètre passé par l'appel de fonction fn est arg, sinon : l'index du sous-élément, le sous-élément lui-même

2 L'objet obj n'est pas un tableau<.>

Cette méthode est la même. La plus grande différence entre 1 et 1 est que la méthode fn sera exécutée une par une quelle que soit la valeur de retour. En d'autres termes, toutes les propriétés de l'objet obj seront appelées par la méthode fn, même si la fonction fn renvoie false. Les paramètres transmis lors de l'appel sont similaires à 1.

jQuery.each = function(obj, fn, args) {
        if (args) {
            if (obj.length == undefined) {
                for (var i in obj)
                    fn.apply(obj, args);
            } else {
                for (var i = 0, ol = obj.length; i < ol; i++) {
                    if (fn.apply(obj, args) === false)
                        break;
                }
 
            }
        } else {
            if (obj.length == undefined) {
                for (var i in obj)
                    fn.call(obj, i, obj);
            } else {
                for (var i = 0, ol = obj.length, val = obj[0];
i < ol && fn.call(val, i, val) !== false;
val = obj[++i]) { }
}
        }
        return obj;
}

Il convient de noter que la méthode d'appel spécifique de fn dans chaque méthode n'est pas un simple fn(i,val) ou fn(args), mais fn.call(val,i,val ) ou fn .apply(obj.args), ce qui signifie que dans votre propre implémentation de fn, vous pouvez directement utiliser ce pointeur pour faire référence aux sous-éléments du tableau ou de l'objet. Cette méthode est une méthode d'implémentation utilisée par la plupart des jQuery.

var arr = ["one", "two", "three", "four", "five"];
var obj = { one: 1, two: 2, three: 3, four: 4, five: 5 };
 
    jQuery.each(arr, function() {
        alert(this);
    });
    /*
    one,two,three,four,five
    */
   
    jQuery.each(obj, function(i, val) {
        alert(i+":"+val);
    });
    /*
    one:1 two:2 three:3 four:4  five:5
    */
   
    jQuery.each(arr, function(i, val) {
        alert(i);
    });
    /*
    0,1,2,3,4
    */
   
    jQuery.each(arr, function(i, val) {
        alert(arr[i]);
    });
    /*
    one tow three four five
    */

Pour plus de connaissances liées à la programmation, veuillez visiter :

Enseignement de la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer