Recentemente mi sono imbattuto in un sito web che conteneva un elemento di ancoraggio senza un attributo href.
Ho immediatamente pensato che fosse stupido, ma potrebbe esserci una situazione reale in cui avere un'ancora senza href ha senso?
Recentemente mi sono imbattuto in un sito web che conteneva un elemento di ancoraggio senza un attributo href.
Ho immediatamente pensato che fosse stupido, ma potrebbe esserci una situazione reale in cui avere un'ancora senza href ha senso?
Ai vecchi tempi, hai usato <a name="whatever">
se volevi un altro link per passare a un particolare punto sullo schermo. Al giorno d'oggi (per molto tempo effettivamente) usiamo l'attributo "id".
Potresti immaginare che qualche codice Javascript stia cambiando dinamicamente il DOM per aggiungere quell'attributo href=
mancante dinamicamente al runtime.
W3Schools.com dice:
In HTML 4.01, the tag could be either a hyperlink or an anchor. In HTML5, the tag is always a hyperlink, but if it has no href attribute, it is only a placeholder for a hyperlink.
Mi raccomando di non utilizzare un tag <a>
senza href
come segnaposto. È preferibile utilizzare i tag <u>
in modo che i collegamenti interrotti presentino il nero sottolineato anziché il solito colore del collegamento in modo da poter vedere almeno quali collegamenti sono interrotti quando si guarda la pagina. Oppure compila <a href="to-do">
in modo che un verificatore di link possa segnalare i collegamenti interrotti.
No. Non dovresti mai usare il tag di ancoraggio senza attributo href.
Sono totalmente d'accordo con la risposta di Glen Peterson. L'elemento di ancoraggio in HTML viene sempre utilizzato con l'attributo href. E, senza href, l'elemento funge semplicemente da segnaposto. Ma anche io non suggerisco di usare senza href solo come segnaposto.
Inoltre, l'uso dell'elemento anchor senza href può rallentare il browser. Quindi, ti consiglio di usare quello che denota un frammento di pagina.
E, in JQuery, puoi usare quanto segue:
.click(function(event){
event.preventDefault();
// Click code here...
});
Leggi altre domande sui tag html html5 web-development web websites