¿Qué significa el signo ‘#’ en jQuery?

4 minutos de lectura

Avatar de usuario de Bastien Vandamme
Bastien Vandamme

Soy nuevo en Javascript y trato de entender algo de código. No entiendo y no puedo encontrar ninguna documentación sobre el # señal.

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

¿Qué significa $(“#searchTerm”)?

  • En realidad, es imposible buscar algo con un carácter especial en Google.

    –Bastien Vandamme

    5 de junio de 2012 a las 14:51

avatar de usuario de celsowm
celsowm

Ahora # significaría/podría significar campos de instancia privada: https://tc39.github.io/propuesta-clase-campos/

Actualización 2021:

Los campos de clase son públicos de forma predeterminada, pero los miembros de clase privada se pueden crear utilizando un prefijo hash #. El propio JavaScript impone la encapsulación de privacidad de estas características de clase.

class ClassWithPrivateField {
  #privateField;
}

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

class ClassWithPrivateStaticField {
  static #PRIVATE_STATIC_FIELD;
}

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

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

  • ¿Qué versión(es) de JavaScript es compatible? (Agregar esta información a la respuesta podría ayudar a que sea más completa).

    – Jon Schneider

    28 mayo 2020 a las 16:15


  • @JonSchneider: todavía es una propuesta en curso, aunque me sorprendería si los campos de instancias privadas no están en ES2021.

    –TJ Crowder

    23 de noviembre de 2020 a las 13:11

  • El código en la pregunta deja en claro que esto no es lo que pregunta el OP (a pesar de que esta respuesta técnicamente es una respuesta válida solo para el título de la pregunta, ignorando su contenido).

    –TJ Crowder

    23 de noviembre de 2020 a las 13:12

  • Si bien esto puede no abordar la pregunta del OP, algunos encontrarán esta pregunta en SO cuando busquen información sobre los identificadores de JavaScript con el prefijo #. No tenía ni idea de la función del prefijo, así que agradecí esta respuesta. Y FWIW, el enlace que proporciona @celsown ha sido reemplazado por este: Propuesta de características de ECMAScript Class

    – Rich Armstrong

    14/04/2021 a las 22:40


  • # no es solo un prefijo dado a los campos de instancia privada, sino también campos de clase privada también. Son una parte sólida del lenguaje desde Chrome v74, Edge v79, Node v12, Deno v1, etc.

    – Redú

    2 mayo 2021 a las 9:00

Avatar de usuario de Quentin
Quentin

¿En JavaScript? Nada especial. Es solo parte de una cadena.

los $ función podría hacer algo con él, pero es dificil decir lo que $ la función es.

Hay muchas bibliotecas que ofrecen una $ función que actúa como un fregadero de cocina para esa biblioteca. Incluyen Prototipo, mootools y jQuery. Este se parece más a jQuery, en cuyo caso el argumento es una cadena que contiene un Selector de CSSentonces el # indica el inicio de una selector de identificación.

Esto “Selecciona un solo elemento con el atributo de identificación dado”.

  • voy a asumir $ es jQuery.

    – genérico

    5 de junio de 2012 a las 14:44

  • También incluiría un puntero a la estándar W3 como una buena visión general de todos los tipos de selector.

    – apsillers

    5 de junio de 2012 a las 14:55

  • es jQuery a primera vista… buena respuesta, pero el viaje de descubrimiento de ‘qué es el símbolo $’ es exagerado e innecesario; tal vez con más de 100K las cosas se ven diferentes…

    – Kocur4d

    16 de febrero de 2016 a las 18:05

Eso es jQuery y el signo de libra (#) se refiere a la ID de un elemento. Es una forma en que jQuery puede seleccionar un elemento. En su ejemplo, seleccionaría el elemento con el ID de “searchTerm”.

Para los selectores de ID, jQuery usa la función de JavaScript document.getElementById(), que es extremadamente eficiente. Cuando se adjunta otro selector al selector de ID, como h2#pageTitle, jQuery realiza una verificación adicional antes de identificar el elemento como una coincidencia.

Como siempre, recuerde que, como desarrollador, su tiempo suele ser el recurso más valioso. No se centre en la optimización de la velocidad del selector a menos que esté claro que es necesario mejorar el rendimiento.

Cada valor de id debe usarse solo una vez dentro de un documento. Si a más de un elemento se le ha asignado el mismo ID, las consultas que usan ese ID solo seleccionarán el primer elemento coincidente en el DOM. Sin embargo, no se debe confiar en este comportamiento; un documento con más de un elemento usando el mismo ID no es válido.

Si la identificación contiene caracteres como puntos o dos puntos, debe escapar esos caracteres con barras invertidas.

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

Eso es solo una cadena. los # es solo parte de una cadena. estoy asumiendo el $ es jQuery.

Eso significa que la cadena es un selector jQuery (o más bien un selector CSS). los # significa “identificación”. Está buscando en el DOM el elemento con el ID `searchTerm.

Con la información proporcionada, lo más probable es que sea el selector de ID de jQuery

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

Avatar de usuario de Florian Salihovic
Florian Salihović

Ese es el selector de id para elementos en HTML (en el DOM para ser específicos).

Avatar de usuario de Mi-Creativity
Mi-Creatividad

Es un ID de elemento, por ejemplo: `…

Cuando necesite acceder a este div con JS o jQuery, simplemente llámelo $("#xyz").hacer algo

para clase <div class="abc">....</div> >> $(".abc")

¿Ha sido útil esta solución?