Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

jQuery 3.0 est disponible en version bêta pour vos tests
Cette version n'est pas rétrocompatible

Le , par danielhagnoul

60PARTAGES

5  0 
Cette première version de la branche 3 est compatible avec les navigateurs obsolètes IE 9-10. Si vous travaillez pour les navigateurs obsolètes IE 6-8, jQuery 1.12.0 est disponible. Pendant une période limitée (non précisée), les branches 1 et 2 seront mises à jour uniquement en cas de régressions ou de bogues sévères.

Méthodes show() et hide()

La modification majeure - les règles CSS sont prioritaires - annoncée lors de la sortie de la version alpha est abandonnée, elle provoquait trop de problèmes. Pour les plugins, il était impossible d'avoir la certitude qu'un élément est visible. Malgré cet abandon, les modifications apportées dans le codage des méthodes show et hide améliorent nettement les performances.

Méthode data

Toutes les clés des attributs data-* sont converties au format « camelCase » pour être conformes à la norme HTML5 sur dataset. Exemples :
  • la valeur de l'attribut HTML data="data-foo-bar" est accessible par $( selector ).data( "fooBar" ;
  • la valeur de l'attribut HTML data="data-foo-42" est accessible par $( selector ).data( "foo42" ).


L'objet jQuery.Deferred est compatible avec la norme Promises/A+ (natif dans ES2015)

  • Ce qui provoque plusieurs modifications dans l'usage de la méthode then().
    1. Lorsqu'une erreur (thrown) est déclenchée dans une méthode de rappel (callback), elle induit immédiatement le rejet de la promesse ;
    2. L'état d'un objet différé (deferred) créé par then() est soumis au comportement de ses méthodes de rappel. Le déclenchement d'une erreur provoque le rejet et les retours « non-thenable » deviennent des « valeurs d'accomplissement ».

      Dans la norme Promises/A+, un « thenable » est un objet qui gère une promesse par la méthode then. Voir : le paragraphe 24.6.2 Resolving Q with thenables dans Exploring ES6. La source anglophone de cette annonce propose un exemple lumineux (sic) mettant en garde contre la différence de comportement entre l'ancien jQuery.Deferred et le nouveau.

      On y voit le rejet d'un objet parent, le succès des objets enfants (child) avec affichage de « fulfilled bar » et le rejet d'un objet petits-enfants (grandchildren). Alors que dans la version précédente de jQuery.Deferred, nous avons le rejet d'un objet parent, l'affichage de « rejected bar » lors du rejet des objets enfants, et l'arrêt sur le déclenchement de l'erreur : throw new Error( "baz" ).

      Comme je vous le disais, une fois qu'on l'a compris, cet exemple est tellement simpliste qu'il en est « lumineux ».  
    3. Toutes les fonctions de rappel sont asynchrones ;
    4. Une fonction de rappel de la méthode progress ne peut plus résoudre son objet différé.

  • La méthode when a également été mise à jour pour accepter tout objet « thenable », ce qui inclut les Promise ES2015 ;
  • La méthode catch() a été ajoutée à l'objet jQuery.Deferred comme un alias de la méthode then( null, fn ) ;
  • Contrairement à ce qui avait été annoncé lors de la sortie de la version alpha, toutes les méthodes de l'objet différé jqXHR généré par une transaction AJAX continuent d'exister et aucune n'est obsolète.


Si votre requête est illogique, jQuery ne vous retournera plus une valeur plausible, mais une erreur. Les méthodes width(), height(), css(“width”) et css(“height”) retourneront les valeurs fournies par le navigateur sans les arrondir. Les alias d'événements obsolètes ont été supprimés : load, unload, et error n'existent plus. Vous devez utiliser la méthode on, exemple : on( "load", fn ). Sur les navigateurs non obsolètes, toutes les animations utilisent l'API requestAnimationFrame. Il faut aussi noter l'ajout de la méthode unwrap( selector ).

Grâce à Paul Irish travaillant chez Google, nous avons identifié certains cas où nous pourrions sauter un tas de travail supplémentaire lorsque certains sélecteurs personnalisés comme « :visible » ou « :hidden » sont utilisés plusieurs fois dans le même document. Dans ce cas particulier, nous sommes maintenant jusqu'à 17 fois plus rapides ! Mais souvenez-vous que dans le pire des cas, ces sélecteurs peuvent provoquer le calcul complet des styles et de la mise en page du document web.

Serveur de code (CDN jQuery)



Bientôt, la version 3.0 du plugin jQuery Migrate vous aidera à modifier vos codes existants.

Source

Et vous ?

Qu'en pensez-vous ?

Voir aussi :

jQuery 1.12.0 et 2.2.0 sont disponibles : corrections de bogues, amélioration des performances et ajout de quelques nouveautés

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de danielhagnoul
Rédacteur https://www.developpez.com
Le 16/01/2016 à 23:01
Cette version me déçoit profondément.

Vu la sortie de jQuery 1.12.0 et 2.2.0, on pouvait attendre 6 mois de plus la branche 3.

Le support d'IE 9-11 par la branche 3 est incompréhensible, les versions précédentes servent à cela.

Lorsqu'on produit une version non rétrocompatible, on en profite pour "casser la baraque" et reconstruire les fondations.

Il fallait attendre que les navigateurs d'aujourd'hui supportent à 90 % ES2015 (c'est déjà le cas pour les prochaines versions de Edge, de Chrome et peut-être Firefox que je n'utilise plus) pour supprimer de jQuery tout ce qui est natif dans ES2015 et produire une version épurée au maximum de toutes les obsolescences.

À quoi peut servir jQuery.Deferred lorsque Promise/A+ est natif dans ES2015 ? De même pour les transactions AJAX et l'inénarrable inventaire des méthodes de l'objet jqXHR.
1  0 
Avatar de danielhagnoul
Rédacteur https://www.developpez.com
Le 08/07/2016 à 21:54
jQuery 3.1.0 est disponible

Source

Nota bene : je ne suis plus l'actualité jQuery car je ne l'utilise plus. Si la chose vous intéresse, veuillez prendre contact avec vermine.
1  0 
Avatar de hotcryx
Membre extrêmement actif https://www.developpez.com
Le 19/01/2016 à 16:49
Je n'ai vu aucun test de performance de Show/Hide pour IE
0  0 
Avatar de danielhagnoul
Rédacteur https://www.developpez.com
Le 22/05/2016 à 11:06
Serveur de code jQuery (CDN)
  • "https://code.jquery.com/jquery-3.0.0-rc1.min.js"


Source
0  0 
Avatar de ctxctx
Membre à l'essai https://www.developpez.com
Le 17/06/2016 à 14:49
Maintenant que jQuery laisse de côté de plus en plus d'anciennes versions de navigateurs et que les nouvelles versions de navigateurs prise en charge supportent de plus en plus les standards sans avoir à (trop) attendre des années, quelle est donc l'utilité de jQuery par rapport à du VanillaJS ?
0  0 
Avatar de champsy_dev
Membre averti https://www.developpez.com
Le 24/06/2016 à 22:41
La syntaxe peut être,

VanillaJs:
Code : Sélectionner tout
1
2
3
4
var s = document.getElementById('thing').style;
s.opacity = 1;
(function fade(){(s.opacity-=.1)<0?s.display="none":setTimeout(fade,40)})();
JQuery :
Code : Sélectionner tout
1
2
$('#thing').fadeOut();
Bon par contre pas la vitesse d’exécution sa c'est sur.
0  0