Ho ispezionato alcuni siti e hanno un segno cancelletto (#) nell'URL. Che cosa fa?
<a href="#" >Link name</a>
Risposte:
È un "frammento" o "ancora con nome". È possibile utilizzare per collegare a una parte di un documento. In genere, quando si collega a una pagina, il browser la apre nella parte superiore della pagina. Ma ti colleghi a una sezione a metà, puoi usare il frammento per collegarti a quell'intestazione (o qualsiasi altra cosa).
Se non è presente alcun <a name="whatever"/>tag nella pagina, il browser si collegherà semplicemente alla parte superiore della pagina. Se il frammento è vuoto, si collegherà anche alla parte superiore della pagina.
Per un frammento unico <a href="#">Link name</a> , allora questo è solo un link alla parte superiore della corrente pagina.
Vedi spesso quel tipo di collegamento usato in combinazione con javascript. L'HTML conforme agli standard richiede un hrefattributo, ma se prevedi di gestire la richiesta con javascript, "#" funge da ragionevole segnaposto.
... solo per aggiungere alcuni suggerimenti utili extra.
Puoi accedervi e modificarlo con document.location.hashin JavaScript.
Può puntare a un'ancora con nome (ad esempio <a name="top"></a>) oa un elemento con un id corrispondente (ad esempio <div id="top"></div>).
Vederne uno da solo (ad esempio <a href="#" onclick="pop()">popup</a>) generalmente significa che un collegamento viene utilizzato per eseguire esclusivamente JavaScript. Questa è una cattiva pratica.
Ogni aelemento dovrebbe avere un hrefche punta a una risorsa valida. Se uno non esiste, considera l'utilizzo di un altro elemento, come button.
# indica un collegamento a un'ancora.
Pensavo di menzionare anche qualcos'altro:
Usare "#" come href per un collegamento che attiva JavaScript non è corretto perché scorre la pagina fino all'inizio, il che probabilmente non è quello che desideri. Invece, usa javascript:void(0).
javascript:void(0)nessuno dei due - usa un buttonse non è un collegamento.
Il cancelletto ( #) indica di individuare un ancoraggio sulla pagina. Ad esempio, se includi questo da qualche parte nella pagina:
<a name="foo"></a>
o, più recentemente:
<div id="foo">*part of page*</div>
e quindi fai clic su un collegamento nella pagina che ha l'href #foo, navigherà all'ancora con il nome o divcon l'ID foo.
Tuttavia, se hai solo href #, porterà all'inizio della pagina.
Questo si collega alla pagina stessa. Viene spesso utilizzato con collegamenti che eseguono effettivamente alcuni JavaScript.