Was bedeutet das ‘#’-Zeichen in jQuery?

Lesezeit: 4 Minuten

Benutzeravatar von Bastien Vandamme
Bastien Vandamme

Ich bin neu in Javascript und versuche, einen Code zu verstehen. Ich verstehe nicht und ich kann keine Dokumentation darüber finden # Schild.

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

Was bedeutet $(“#Suchbegriff”)?

  • Eigentlich ist es unmöglich, etwas mit einem Sonderzeichen bei Google zu suchen.

    – Bastien Vandamme

    5. Juni 2012 um 14:51 Uhr

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, aber private Klassenmitglieder können mit einem Hash-#-Präfix erstellt werden. Die Datenschutzkapselung dieser Klassenfunktionen wird von 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

  • Welche Version(en) von JavaScript werden 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 ist immer noch ein Vorschlag in Bearbeitung, obwohl ich überrascht wäre, wenn private Instanzfelder nicht in ES2021 enthalten wären.

    – TJ Crowder

    23. November 2020 um 13:11 Uhr

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

    – TJ Crowder

    23. November 2020 um 13:12 Uhr

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

    – Reicher Armstrong

    14. April 2021 um 22:40 Uhr


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

    – Redu

    2. Mai 2021 um 9:00 Uhr

Benutzeravatar von Quentin
QUentin

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

Das $ Funktion könnte etwas damit anfangen, aber es ist schwer zu sagen, was die $ Funktion ist.

Es gibt viele Bibliotheken, die a $ Funktion, die als Küchenspüle für diese Bibliothek dient. Sie beinhalten Prototyp, Mootools und jQuery. Dieser sieht am ehesten wie jQuery aus, in diesem Fall ist das Argument eine Zeichenfolge, die a enthält CSS-Selektoralso die # zeigt den Beginn einer 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 Uhr

  • Ich würde auch einen Verweis auf die W3-Standard als guten Überblick über alle Selektortypen.

    – Apsiller

    5. Juni 2012 um 14:55 Uhr

  • 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 über 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 „Suchbegriff“ 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 Überprü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 jedoch nicht verlassen; ein Dokument mit mehr als einem Element, das dieselbe ID verwendet, 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. Das # ist nur ein Teil einer Zeichenfolge. Ich gehe davon aus das $ ist jQuery.

Das bedeutet, dass der String ein jQuery-Selektor (oder besser gesagt ein CSS-Selektor) ist. Das # 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/

Benutzeravatar 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, zB: `…

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

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

1431500cookie-checkWas bedeutet das ‘#’-Zeichen in jQuery?

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

Privacy policy