Was bedeutet das Zeichen „#“ (Nummernzeichen) in jQuery?

Lesezeit: 4 Minuten

Bastien Vandammes Benutzeravatar
Bastien Vandamme

Ich bin neu in Javascript und versuche, etwas Code zu verstehen. Ich verstehe es nicht und kann keine Dokumentation darüber finden # Zeichen.

$(function () {
      $("#searchTerm").autocomplete({

Was bedeutet $(“#searchTerm”)?

Benutzeravatar von celsowm
celsowm

Nun würde/könnte # private Instanzfelder bedeuten: https://tc39.github.io/proposal-class-fields/

Aktualisierung 2021:

Klassenfelder sind standardmäßig öffentlich, private Klassenmitglieder können jedoch mithilfe eines Hash-#-Präfixes erstellt werden. Die Datenschutzkapselung dieser Klassenfunktionen wird durch JavaScript selbst erzwungen.

class ClassWithPrivateField {
  #privateField;
}

class ClassWithPrivateMethod {
  #privateMethod() {
    return 'hello world';
  }
}

class ClassWithPrivateStaticField {
  static #PRIVATE_STATIC_FIELD;
}

class ClassWithPrivateStaticMethod {
  static #privateStaticMethod() {
    return 'hello world';
  }
}

Quelle: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields

  • Werden welche JavaScript-Versionen unterstützt? (Das Hinzufügen dieser Informationen zur Antwort könnte dazu beitragen, sie vollständiger zu machen.)

    – Jon Schneider

    28. Mai 2020 um 16:15 Uhr


  • @JonSchneider – Es handelt sich immer noch um einen in Bearbeitung befindlichen Vorschlag, obwohl es mich wundern würde, wenn private Instanzfelder nicht in ES2021 wären.

    – TJ Crowder

    23. November 2020 um 13:11 Uhr

  • Der Code in der Frage macht deutlich, dass dies nicht das ist, wonach das OP fragt (Obwohl diese Antwort technisch gesehen eine gültige Antwort nur für den Titel der Frage ist und deren Inhalt ignoriert wird).

    – TJ Crowder

    23. November 2020 um 13:12 Uhr

  • Auch wenn dies die Frage des OP möglicherweise nicht beantwortet, werden einige diese Frage dennoch auf SO finden, wenn sie nach Informationen zu JavaScript-Identifikatoren mit dem Präfix suchen #. Ich hatte keine Ahnung von der Funktion des Präfixes und war daher dankbar für diese Antwort. Und FWIW, der Link, den @celsown bereitstellt, wurde durch diesen ersetzt: Vorschlag für ECMAScript-Klassenfunktionen

    – Rich Armstrong

    14. April 2021 um 22:40 Uhr


  • # ist nicht nur ein Präfix für private Instanzfelder, sondern auch private Klassenfelder sowie. Sie sind fester Bestandteil der Sprache seit Chrome v74, Edge v79, Node v12, Deno v1 usw.

    – Redu

    2. Mai 2021 um 9:00 Uhr

Quentins Benutzeravatar
QUentin

(Hinweis: Diese Antwort geht nicht davon aus, dass es sich bei der Frage um jQuery handelt. Das Hinzufügen des jQuery-Tags und die Titelbearbeitung wurden nicht von der Person vorgenommen, die die Frage gestellt und diese Antwort akzeptiert hat.)

In JavaScript? Nichts Besonderes. Es ist nur ein Teil einer Zeichenfolge.

Der $ Funktion könnte etwas damit machen, aber Es ist schwer zu sagen, was das ist $ Funktion ist.

Es gibt viele Bibliotheken, die eine anbieten $ Funktion, die als Küchenspüle für diese Bibliothek fungiert. Sie beinhalten Prototyp, Mootools Und jQuery. Dieses ähnelt am ehesten jQuery. In diesem Fall ist das Argument eine Zeichenfolge, die a enthält CSS-Selektoralso die # zeigt den Beginn eines an ID-Selektor.

Dies „Wählt ein einzelnes Element mit dem angegebenen ID-Attribut aus“.

  • Ich gehe davon aus $ ist jQuery.

    – generisch

    5. Juni 2012 um 14:44

  • Ich würde auch einen Hinweis darauf einfügen W3-Standard als guten Überblick über alle Selektortypen.

    – Apsiller

    5. Juni 2012 um 14:55

  • Auf den ersten Blick ist es jQuery … gute Antwort, aber die Entdeckungsreise „Was ist das $-Symbol?“ ist übertrieben und unnötig – vielleicht sehen die Dinge bei mehr als 100.000 anders aus …

    – Kocur4d

    16. Februar 2016 um 18:05 Uhr

Das ist jQuery und das Nummernzeichen (#) bezieht sich auf die ID eines Elements. Dies ist eine Möglichkeit, wie jQuery ein Element auswählen kann. In Ihrem Beispiel würde es das Element mit der ID „searchTerm“ auswählen.

Für ID-Selektoren verwendet jQuery die JavaScript-Funktion document.getElementById(), die äußerst effizient ist. Wenn ein anderer Selektor an den ID-Selektor angehängt wird, z. B. h2#pageTitle, führt jQuery eine zusätzliche Prüfung durch, bevor das Element als Übereinstimmung identifiziert wird.

Denken Sie wie immer daran, dass Ihre Zeit als Entwickler normalerweise die wertvollste Ressource ist. Konzentrieren Sie sich nicht auf die Optimierung der Selektorgeschwindigkeit, es sei denn, es ist klar, dass die Leistung verbessert werden muss.

Jeder ID-Wert darf innerhalb eines Dokuments nur einmal verwendet werden. Wenn mehr als einem Element dieselbe ID zugewiesen wurde, wählen Abfragen, die diese ID verwenden, nur das erste übereinstimmende Element im DOM aus. Auf dieses Verhalten sollte man sich allerdings nicht verlassen; Ein Dokument mit mehr als einem Element mit derselben ID ist ungültig.

Wenn die ID Zeichen wie Punkte oder Doppelpunkte enthält, müssen Sie diese Zeichen mit Backslashes maskieren.

Sehen: http://api.jquery.com/id-selector/

Das ist nur eine Zeichenfolge. Der # ist nur ein Teil einer Zeichenfolge. Ich gehe davon aus $ ist jQuery.

Das bedeutet, dass der String ein jQuery-Selektor (oder besser gesagt ein CSS-Selektor) ist. Der # bedeutet „ID“. Es durchsucht das DOM nach dem Element mit der ID „searchTerm“.

Mit den gegebenen Informationen handelt es sich höchstwahrscheinlich um den jQuery-ID-Selektor

http://api.jquery.com/id-selector/

Benutzer-Avatar von Florian Salihovic
Florian Salihovic

Das ist der ID-Selektor für Elemente in HTML (genauer gesagt im DOM).

Benutzeravatar von Mi-Creativity
Mi-Kreativität

Es ist eine Element-ID, z. B.: „…

Wenn Sie mit JS oder jQuery auf dieses Div zugreifen müssen, rufen Sie es einfach auf $("#xyz").etwas tun

für den Unterricht <div class="abc">....</div> >> $(".abc")

1453840cookie-checkWas bedeutet das Zeichen „#“ (Nummernzeichen) in jQuery?

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

Privacy policy