html - zodiacal - ¿Qué sucede cuando un enlace tiene un signo "#" de libra en él?
signos zodiacales (5)
... solo para agregar algunos consejos útiles adicionales.
Puede acceder y cambiarlo con document.location.hash
en JavaScript.
Puede señalar a un ancla nombrada (por ejemplo, <a name="top"></a>
) oa un elemento con una identificación correspondiente (por ejemplo, <div id="top"></div>
).
Ver uno solo (por ejemplo, <a href="#" onclick="pop()">popup</a>
) generalmente significa que se está utilizando un enlace para ejecutar JavaScript exclusivamente. Esta es una mala práctica.
Cualquier elemento debe tener un href
que apunta a un recurso válido. Si no existe, considere usar otro elemento, como un button
.
He inspeccionado algunos sitios y tienen un signo de libra (#) en la url. ¿Qué hace?
<a href="#" >Link name</a>
El signo de libra ( #
) indica que debe ubicarse un anclaje en la página. Por ejemplo, si incluye esto en algún lugar de la página:
<a name="foo"></a>
o, más recientemente:
<div id="foo">*part of page*</div>
y luego haces clic en un enlace en la página que tiene href #foo
, navegará al ancla con el nombre o div
con el ID foo
.
Sin embargo, si solo tienes el href #
, te llevará a la parte superior de la página.
Es un "fragmento" o "ancla nombrada". Puede usar para vincular a una parte de un documento. Normalmente, cuando se vincula a una página, el navegador la abre en la parte superior de la página. Pero si enlaza a una sección a la mitad, puede usar el fragmento para vincularlo a ese encabezado (o lo que sea).
Si no hay <a name="whatever"/>
etiqueta <a name="whatever"/>
dentro de la página, el navegador simplemente enlazará con la parte superior de la página. Si el fragmento está vacío, también se vinculará con la parte superior de la página.
Para un fragmento solo <a href="#">Link name</a>
, ese es solo un enlace a la parte superior de la página actual .
A menudo se ve ese tipo de enlace utilizado en conjunción con javascript. El HTML que cumple con los estándares requiere un atributo href
, pero si planea manejar la solicitud con javascript, entonces "#" sirve como un marcador de posición razonable.
Esto enlaces a la página en sí. A menudo se usa con enlaces que realmente ejecutan JavaScript.
#
indica un enlace a un ancla.
Me gustaría mencionar algo más:
Usar ''#'' como href para un enlace que activa JavaScript es malo porque desplaza la página hacia arriba, lo que probablemente no sea lo que quieres. En su lugar, use javascript:void(0)
.