Maison  >  Article  >  interface Web  >  Analyse détaillée de map() et get() dans jQuery

Analyse détaillée de map() et get() dans jQuery

黄舟
黄舟original
2017-07-19 16:25:031552parcourir

Il existe un concept appelé "array-like" sous jQuery, tel que $( " li " ). Lorsqu'une collection est obtenue, il y aura certains attributs du tableau, mais l'instance de Array l'est. toujours faux. Mais var a=$( "li" ).get()Traitez-le comme ça, et ensuiteinstance de Le tableau renvoie vrai.

Veuillez noter que l'ajout du numéro de série à var a=$( "li" ).get(1) peut obtenir un seul élément. La nature de ces éléments n'est pas. Objets jQuery, mais il s'agit d'un objet Js, donc les méthodes jQuery ne peuvent pas être utilisées directement.

La fonction de map() comporte principalement deux étapes : la première étape consiste à parcourir et la deuxième étape consiste à remplacer.

  $( " li " ).map( function(  ){
    return  $(this).text(  );  // 注意return关键字不可少
} )


la carte est parcourue en premier, chaque élément renvoie une valeur text(), puis map Ces valeurs remplaceront automatiquement chaque valeur dans la collection $("li"), il s'agit donc toujours d'un objet de type tableau pour le moment (car c'est toujours le shell de $("li")), pas un vrai tableau. Ainsi, l'ajout ultérieur d'une opération get() le transformera en un véritable tableau, vous pourrez donc utiliser join(), une méthode spécifique aux tableaux.

Par exemple :

    $( " li " ).map( function(  ){
        return  $(this).text(  );   
    } ).get(  ).join("%")            // 拼接成字符串,中间用“%”隔开


Supplémentaire :
map() et get() peuvent également manipuler directement le code du tableau comme suit :

var arrayObj=["www","xxx","ddd"];
var ww=$.map(arrayObj,function(i){
                      return i;
              }).join(",");
console.log(ww);
var tt=$(":checkbox").map(function(){
                     return this.value;
          }).get().join(",");
console.log(tt);

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