Pregunta ¿Qué sucede cuando un enlace tiene un signo "#" de libra en él?


He inspeccionado algunos sitios y tienen un signo de libra (#) en la url. ¿Qué hace?

 <a href="#" >Link name</a>

76
2018-05-10 03:44


origen


Respuestas:


Es un "fragmento" o "ancla nombrada". Puedes usar para enlazar a 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 dentro de la página, luego 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.

Por un fragmento solamente  <a href="#">Link name</a>, entonces eso es solo un enlace a la parte superior de la corriente página.

A menudo se ve ese tipo de enlace utilizado en conjunción con javascript. El HTML que cumple con los estándares requiere una href atributo, pero si planea manejar la solicitud con javascript, entonces "#" sirve como un titular de lugar razonable.


95
2018-05-10 03:47



... solo para agregar algunos consejos útiles adicionales.

Puede acceder y cambiarlo con document.location.hash en JavaScript

Puede señalar a un ancla con nombre (p. <a name="top"></a>) o a un elemento con una identificación correspondiente (p. <div id="top"></div>)

Ver uno solo (p. <a href="#" onclick="pop()">popup</a>) generalmente significa que se está utilizando un enlace para ejecutar JavaScript exclusivamente. Esta es una mala práctica.

Alguna a elemento debe tener una href eso apunta a un recurso válido. Si no existe, considere usar otro elemento, como button.


23
2018-05-10 04:06



# 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 cambio, usa javascript:void(0).


10
2018-05-10 04:38



El signo de la libra (#) indica para ubicar un ancla 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 el href #foo, navegará hasta el ancla con el nombre o div con la identificación foo.

Sin embargo, si solo tienes el href #, llevará a la parte superior de la página.


7
2017-09-09 21:31



Esto enlaces a la página en sí. A menudo se usa con enlaces que realmente ejecutan JavaScript.


2
2018-05-10 03:45