Este código particular en una etiqueta se ve comúnmente en el código de muestra que involucra JavaScript. Lo más común es que lo veas como algo así donde el propósito principal de la etiqueta es proporcionar un enlace para que las personas hagan clic para ejecutar JavaScript.
Cuando se usa en un código de muestra como ese, el # es un marcador de posición que representa dónde quiere que vaya realmente el enlace si la persona que visita su página no tiene habilitado JavaScript.
Cuando vea href = "#" en el código en vivo en una página web, significa que la persona que escribió la página ha cometido un error. Nunca debería ver href = "#" en el código fuente real de una página web porque el # en sí mismo no es válido y no tiene sentido.
Siempre que adjunte JavaScript a un enlace, ya sea así o utilizando un equivalente discreto, también debe tener en cuenta a aquellos que, por cualquier motivo, no tienen habilitado JavaScript. los falso retorno al final de mi ejemplo anterior, evita que href se use realmente si se ejecuta JavaScript, pero href sigue siendo lo que se usará si, por algún motivo, JavaScript no se ejecuta. Por lo tanto, href debe contener un valor válido real basado en el lugar donde desea que el enlace lleve a las personas que no tienen JavaScript disponible. Dado que la persona que escribió el JavaScript para usted no sabe a dónde quiere llevar a esas personas, acaba de insertar un # en su código donde debe sustituir la dirección real.
Un # es válido en un atributo href siempre que no sea el único carácter en el valor. Donde el # es seguido por caracteres adicionales, esos caracteres adicionales son el valor de un atributo de identificación en otra parte de la página web actual y la página saltará para mostrar la etiqueta que contiene esa identificación lo más cerca posible de la parte superior de la ventana del navegador. Por ejemplo saltará a en la misma página web. Si también tiene un nombre de archivo que precede al #, la identificación a la que saltará estará dentro de esa página web, por lo que saltará a esa identificación en la página next.htm.
Un carácter # no es válido como el último carácter de href, ya que implica que desea saltar a una identificación dentro de la página, pero no se ha especificado el valor de la identificación a la que desea saltar. La acción que debe realizar el navegador en esa instancia no está definida, sin embargo, la mayoría simplemente volverá a la parte superior de la página actual.
Entonces, ¿qué hacer si el JavaScript que desea adjuntar es tal que no hay alternativa para aquellos sin JavaScript? Bueno, en ese caso, no desea que aquellos sin JavaScript vean el enlace, ya que si es visible para ellos, algunos de ellos harán clic en él y no tienen nada que deseen que haga por ellos y eso Solo será confuso. Por lo tanto, la solución es garantizar que el enlace solo sea visible para aquellos con JavaScript habilitado y la forma de hacerlo es agregar el enlace a la página web usando JavaScript.
Solo cuando se agrega a la página web usando JavaScript, puede estar seguro de que todos los que hagan clic en el enlace tendrán habilitado JavaScript y, por lo tanto, se ejecutará el código doSomething () y se ignorará href = "#". Entonces, y solo entonces, tiene sentido dejar el # en ese lugar en el código, ya que el atributo href es necesario para que algunos navegadores acepten el código como un enlace válido y sepan que las únicas personas pueden ver el el enlace tendrá JavaScript habilitado. También sabe que, por lo tanto, nadie terminará siendo llevado al lugar al que apunta href, por lo que puede contener cualquier cosa sin importarlo, por lo que # es un valor tan bueno como cualquier otro y ciertamente es mejor que href = "javascript:" (que es una construcción que nunca debe usarse independientemente de si algo sigue a los dos puntos o no).