Maison >interface Web >js tutoriel >Test de vitesse jQuery: $ (this) .attr ('id'); vs this.id

Test de vitesse jQuery: $ (this) .attr ('id'); vs this.id

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-02-23 09:19:10210parcourir

jQuery Speed Test: $(this).attr(

Test de vitesse jQuery: $ (this) .attr ('id'); vs this.id

Menant à partir du test de vitesse $ (this) vs .get () vs .eq () J'ai décidé de faire un test rapide pour comparer la vitesse de $ (this) .attr («id»); vs this.id qui peut être utilisé sur les attributs natifs tels que id, src, href, style etc… mais pas sur des propriétés telles que bgcolor, données, etc…

arrière-plan

Dans le contexte, cela change mais généralement: $ (this) est un objet jQuery qui a accès à toutes les API jQuery Ceci est une référence à l'élément DOM Utilisez $ (this) pour les éléments DOM qui n'ont pas encore été créés.

Speed ​​

Cela sans l'emballage jQuery est légèrement plus rapide dans l'ensemble. $ (this) .attr («id»): 42 ms this.id: 1 ms Afficher les résultats: https://jsfiddle.net/jquery4u/f9rp7/ Lire plus approfondie:
  • jQuery est ce démystifié

Questions fréquemment posées (FAQ) sur le test de vitesse jQuery

Pourquoi JQuery's $ (this) .attr ('id') fonctionne-t-il plus lentement que ce.id?

JQuery's $ (this) .attr ('id') fonctionne plus lentement que ce.id parce qu'il implique plus de traitement. La méthode $ (this) .attr (‘id’) crée d'abord un objet jQuery à partir de l'élément DOM, puis il utilise la méthode ATR () pour récupérer l'attribut ID. D'un autre côté, ce.id accède directement à la propriété ID de l'élément DOM, ce qui est plus rapide car il implique moins de traitement.

Quelle est la différence entre $ (this) .attr ('id') et this.id in jQuery?

both $ (this) .attr ('id') et this.id sont utilisés pour obtenir l'ID d'un élément de jQuery. Cependant, $ (this) .attr (‘id’) est une méthode jQuery qui obtient la valeur d’attribut uniquement pour le premier élément de l'ensemble correspondant. Il renvoie non défini pour les valeurs des attributs non définis. D'un autre côté, ce.id est une propriété JavaScript pure qui obtient directement l'ID d'un élément. Il renvoie une chaîne vide si l'ID n'est pas défini.

Pourquoi est-ce que ce.id renvoie indéfini dans mon code jQuery?

Si ce.id revient indéfini, cela pourrait être dû au fait que l'élément n'a pas d'attribut d'ID. N'oubliez pas que ce.ID accède directement à la propriété ID de l'élément DOM. Si l'ID n'est pas défini, il renverra une chaîne vide, non non définie. Vérifiez votre code pour vous assurer que l'élément a un attribut ID.

Comment puis-je améliorer les performances de mon code jQuery?

Une façon d'améliorer les performances de votre code jQuery est de minimiser le Utilisation de méthodes jQuery qui impliquent plus de traitement, comme $ (this) .attr ('id'). Au lieu de cela, vous pouvez utiliser des propriétés JavaScript pures comme celle-ci.ID qui accèdent directement aux propriétés de l'élément DOM. Essayez également de mettre en cache vos objets jQuery, d'utiliser la délégation d'événements et de enchaîner vos méthodes dans la mesure du possible.

Puis-je utiliser ce.id avec d'autres propriétés en plus d'Id?

Oui, vous pouvez l'utiliser. Property avec n'importe quelle propriété d'un élément DOM. Par exemple, vous pouvez utiliser ce.classname pour obtenir la classe d'un élément, ou ce.innerhtml pour obtenir le HTML intérieur d'un élément. N'oubliez pas que ce.property accède directement à la propriété de l'élément DOM.

Y a-t-il une différence de compatibilité entre $ (this) .attr ('id') et this.id?

Les deux $ (this) .attr ('id') et this.id sont compatibles avec tous les navigateurs modernes. Cependant, ce.id, étant une propriété JavaScript pure, est également compatible avec les anciennes versions d'Internet Explorer qui ne prennent pas entièrement en charge jQuery.

Pourquoi cela.

Dans JavaScript, si une propriété n'est pas définie sur un objet, l'accès, il retournera indéfini. Cependant, les éléments DOM ont un ensemble de propriétés prédéfinies, y compris l'ID. Si l'attribut ID n'est pas défini pour un élément DOM, l'accès à ceci.ID renverra une chaîne vide, non indéfinie.

Puis-je définir l'ID d'un élément en utilisant ce.id?

Oui, vous pouvez définir l'ID d'un élément DOM en utilisant ce.id en javascript. Par exemple, this.id = «newId» définira l'ID de l'élément sur «NewId». Cependant, soyez prudent lorsque vous modifiez les ID dynamiquement car cela peut entraîner une confusion et un comportement inattendu dans votre code.

Comment puis-je obtenir l'ID d'un élément en utilisant un javascript pur?

Vous pouvez obtenir le ID d'un élément DOM en JavaScript pur à l'aide de la propriété ID. Par exemple, si vous avez une référence à un élément DOM dans une variable appelée élément, vous pouvez obtenir son ID en utilisant élément.id.

Pourquoi devrais-je utiliser ce.id au lieu de $ (this) .attr ( 'id')?

Utilisation de this.id au lieu de $ (this) .attr ('id') peut améliorer les performances de votre code car elle implique moins de traitement. Il accède directement à la propriété ID de l'élément DOM, tandis que $ (this) .attr (‘id’) implique la création d'un objet jQuery, puis en utilisant la méthode ATR () pour obtenir l'ID.

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