JavaScript style.display=”none” oder jQuery .hide() ist effizienter?

Lesezeit: 2 Minuten

Benutzer-Avatar
Maninda

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

wird in JavaScript verwendet, um ein Element auszublenden. Aber in jQuery,

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

wird für denselben Zweck verwendet. Welcher Weg ist effizienter? Ich habe einen Vergleich zwischen zwei jQuery-Funktionen gesehen .hide() und .css("display","none") hier.

Aber mein Problem ist, ob reines JavaScript effizienter ist als jQuery?

  • Mögliches Duplikat von .hide() oder display: none? jQuery

    – Somnath Muluk

    22. August 2016 um 11:28 Uhr

Apropos Effizienz:

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

Was jQuery mit seinen macht .show() und .hide() Methoden ist, dass es sich an die erinnert letzter Status eines Elements. Das kann manchmal nützlich sein, aber da Sie nach der Effizienz gefragt haben, spielt das hier keine Rolle.

  • Ja, das ist effizienter, aber das ist nicht sicher. In meinem Job gibt es eine RIESIGE Webanwendung, die so ziemlich vollständig konfigurierbar ist, sodass je nach Kontext und Konfiguration einige Elemente auf der Seite vorhanden sein können oder nicht. Wenn dieses Element nicht auf der Seite vorhanden ist, wird dies einen Fehler verursachen (bei Verwendung von .style für ein nicht definiertes Objekt). Mit JQuery haben Sie dieses Problem nicht, oder wenn nicht, sollten Sie es überprüfen if( document.getElementById( 'elemtId' ) ) bevor Sie es tun.

    – Dominikbri7

    23. Oktober 2015 um 13:45 Uhr

a = 2;

vs

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

Im dein Meinung, was denkst du wird am schnellsten sein?

  • Dieser hat mich zum Lachen gebracht und ist die beste Antwort, nett.

    – Ciro Santilli Путлер Капут 六四事

    30. Oktober 2014 um 10:38 Uhr

  • Nicht die beste Erklärung, aber die Botschaft von a lot; of = cross; browser(); handling... bringt mich dazu, dir nicht die Ablehnung zu geben: P

    – Alejandro Vales

    4. Februar 2016 um 15:45 Uhr


  • @Florian – du hast vergessen zu definieren browser und handling — Dies kann einen Fehler werfen

    – Naftali

    8. September 2016 um 14:38 Uhr

Effizienz wird für so etwas in 99,999999% der Situationen keine Rolle spielen. Tun Sie, was einfacher zu lesen und/oder zu warten ist.

In meinen Apps verlasse ich mich normalerweise auf Klassen, um beispielsweise das Verstecken und Anzeigen bereitzustellen .addClass('isHidden')/.removeClass('isHidden') was mir erlauben würde, Dinge mit CSS3 zu animieren, wenn ich wollte. Es bietet mehr Flexibilität.

  • Das würde ich nicht sagen. Abhängig von der Anzahl der Anrufe, dies kann ein Faktor werdenda wir jedes Mal die jQuery-Konstruktormethode aufrufen.

    – jAndy

    3. Dezember 2012 um 17:13 Uhr

  • Wenn Sie dies > 10.000 Mal in einer Sekunde tun, kann es sich bemerkbar machen. Ich kann es beweisen 🙂

    – Jamund Ferguson

    3. Dezember 2012 um 17:14 Uhr


  • Ich liebe den Link zu jsperf.com/jquery-hide-vs-native33. Vielen Dank!

    – As

    8. Februar 2013 um 18:22 Uhr

Ja.

Ja, so ist es.

Vanille JS ist immer effizienter.

1155980cookie-checkJavaScript style.display=”none” oder jQuery .hide() ist effizienter?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy