web-dev-qa-db-fra.com

JavaScript style.display = "none" ou jQuery .hide () est plus efficace?

document.getElementById("elementId").style.display="none"

est utilisé en JavaScript pour masquer un élément. Mais dans jQuery,

$("#elementId").hide();

est utilisé dans le même but. De quelle façon est plus efficace? J'ai vu une comparaison entre deux fonctions jQuery .hide() et .css("display","none")ici .

Mais mon problème est de savoir si le JavaScript pur est plus efficace que jQuery?

59
Maninda

Parler d'efficacité:

document.getElementById( 'elemtId' ).style.display = 'none';

Ce que jQuery fait avec ses méthodes .show() et .hide(), c'est qu'il se souvient du dernier état d'un élément. Cela peut être utile parfois, mais puisque vous avez demandé une efficacité qui n’a aucune importance ici.

107
jAndy

Dans 99,999 à 999% des situations, l’efficacité n’a plus d’importance. Faites tout ce qui est plus facile à lire et à entretenir.

Dans mes applications, je me fie généralement aux classes pour fournir des masques et des affichages, par exemple .addClass('isHidden')/.removeClass('isHidden') qui me permettrait d'animer des éléments avec CSS3 si je le voulais. Il offre plus de flexibilité.

25
Jamund Ferguson
a = 2;

contre

a(2);
function a(nb) {
    lot;
    of = cross;
    browser();
    return handling(nb);
}

Dans votre opinion, que pensez-vous être le plus rapide?

24
Florian Margaine

Oui.

Oui, ça l'est.

Vanilla JS est toujours plus efficace.

6
Neal