Table des matières
1 Utilisation aveugle des sélecteurs
2 La sélection globale est inefficace
4 Utilisation abusive de l'intégralité d'ajax
5 Utilisation abusive des appels en chaîne
ÉvénementLiaisons multiples" >6 ÉvénementLiaisons multiples
7 Mauvaise utilisation de cet indicateur
Maison interface Web js tutoriel Ces pièges de JQuery, classement de l'index des pièges de JQuery

Ces pièges de JQuery, classement de l'index des pièges de JQuery

Apr 23, 2017 am 09:35 AM
jquery

1 Utilisation aveugle des sélecteurs

Indice de tromperie : 200

JQueryLes appels de sélecteur sont très coûteux et les appels répétés sont moins efficaces. La méthode de mise en cacheobjet doit être utilisée ou la méthode des appels chaînés doit être utilisée.

//错误的写法
$("#button").click(function(){
    $('#list li').addClass('strong');
    $('#list li').css('color', 'red');
});
//正确的写法
$("#button").click(function(){
    $lis = $('#list li');
    $lis.addClass('strong');
    $lis.css('color', 'red');
});
//更好的写法
$("#button").click(function(){
    $('#list li').addClass('strong').css('color', 'red');
});
Copier après la connexion

2 La sélection globale est inefficace

Indice de trading : 100

Utilisez autant que possible la recherche contextuelle pour éviter l'utilisation de la sélection globale . Le sélecteur global recherchera l'intégralité du document, ce qui est très inefficace.

//错误的写法
$(".active").method();
//正确的写法
var ul = $("#myList");
$(".active",ul).method();
Copier après la connexion

3 Copier Fonction anonyme

Indice de trading : 50

Évitez de copier plusieurs fois les fonctions anonymes, séparez les fonction anonyme afin qu'elle puisse être appelée plusieurs fois par d'autres objets.

//错误的写法
$('#myp').click( function(){
   //一些操作
});
//正确的写法
function pClickFn (){
   //一些操作   
}
$('#myp').click( pClickFn );
Copier après la connexion

4 Utilisation abusive de l'intégralité d'ajax

Indice de tromperie : 30

Lors de l'utilisation d'ajax pour les requêtes de données, évitez d'utiliser la méthode de rappel complète, utilisez plutôt la méthode du succès. Le rappel complet est déclenché, que la requête réussisse ou échoue.

//错误的写法
$.ajax({
  url: "http://tools.42du.cn/jsonp/student/all",
}).complete(function( data ) {
    //一些操作  
});
//正确的写法
$.ajax({
  url: "http://tools.42du.cn/jsonp/student/all",
}).success(function( data ) {
    //一些操作  
});
Copier après la connexion

5 Utilisation abusive des appels en chaîne

Indice de triche : 20

L'utilisation des appels en chaîne entraînera un changement de dégradé de l'objet Il est supprimé avant qu'il ne soit terminé, c'est-à-dire que la méthode Remove sera appelée avant que la méthode fadeOut ne soit terminée. Lorsque vous devez exécuter la deuxième méthode une fois la première méthode terminée, veuillez utiliser le rappel, qui est la deuxième méthode.

//错误的写法
$("#myp").click(function(e) {
  $(this).fadeOut("slow").remove();
});
//正确的写法
$("myp").click(function(e){
  $(this).fadeOut("slow", function(){
    $(this).remove();
  });
});
Copier après la connexion

6 ÉvénementLiaisons multiples

Indice de triche : 20

Si vous liez (liez) le même événement plusieurs fois, la réponse sera exécutée plusieurs fois. Pour éviter plusieurs exécutions, veuillez d'abord dissocier l'événement, puis le relier à nouveau.

//避免响应多次执行
$("myp").unbind("click").bind("click");
Copier après la connexion

7 Mauvaise utilisation de cet indicateur

Indice de tromperie : 10

Cet indicateur existe dans un certain contexte Quand cela pointe vers un. objet différent lorsque le contexte change. Si vous souhaitez toujours appeler ceci dans le contexte d'origine, vous devez mettre en cache l'objet this d'origine dans le contexte d'origine ($that = $(this)).

//错误的写法
$( "#myList").click( function() {
   $(this).method(); 
   $("#myList li").each( function() {
      //this并不指向myList
      $(this).method2(); 
   })
});
Copier après la connexion

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 de ce site Web
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Musée à deux points: toutes les expositions et où les trouver
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Musée à deux points: toutes les expositions et où les trouver
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide Feb 27, 2024 pm 06:45 PM

Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide

Comment utiliser la méthode de requête PUT dans jQuery ? Comment utiliser la méthode de requête PUT dans jQuery ? Feb 28, 2024 pm 03:12 PM

Comment utiliser la méthode de requête PUT dans jQuery ?

Comment supprimer l'attribut height d'un élément avec jQuery ? Comment supprimer l'attribut height d'un élément avec jQuery ? Feb 28, 2024 am 08:39 AM

Comment supprimer l'attribut height d'un élément avec jQuery ?

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Feb 28, 2024 pm 09:06 PM

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page

Analyse approfondie : les avantages et les inconvénients de jQuery Analyse approfondie : les avantages et les inconvénients de jQuery Feb 27, 2024 pm 05:18 PM

Analyse approfondie : les avantages et les inconvénients de jQuery

Utilisez jQuery pour modifier le contenu textuel de toutes les balises Utilisez jQuery pour modifier le contenu textuel de toutes les balises Feb 28, 2024 pm 05:42 PM

Utilisez jQuery pour modifier le contenu textuel de toutes les balises

Comprendre le rôle et les scénarios d'application de eq dans jQuery Comprendre le rôle et les scénarios d'application de eq dans jQuery Feb 28, 2024 pm 01:15 PM

Comprendre le rôle et les scénarios d'application de eq dans jQuery

Résumé des fonctions d'opération de fichiers couramment utilisées en PHP Résumé des fonctions d'opération de fichiers couramment utilisées en PHP Apr 03, 2024 pm 02:52 PM

Résumé des fonctions d'opération de fichiers couramment utilisées en PHP

See all articles