Po sprawdzeniu niektórych witryn mają one w adresie URL znak funta (#). Co to robi?
<a href="#" >Link name</a>
To „fragment” lub „nazwana kotwica”. Możesz użyć łącza do części dokumentu. Zwykle po utworzeniu łącza do strony przeglądarka otwiera ją u góry strony. Ale łączysz się z sekcją w połowie drogi, możesz użyć fragmentu, aby połączyć się z tym nagłówkiem (lub czymkolwiek).
Jeśli na stronie nie ma <a name="whatever"/>
tagu, przeglądarka po prostu przekieruje na górę strony. Jeśli fragment jest pusty, będzie również zawierał link do góry strony.
Dla fragmentu tylko <a href="#">Link name</a>
, to jest to po prostu link do górnej części bieżącej strony.
Często widzisz tego rodzaju odsyłacze w połączeniu z javascript. Zgodny ze standardami HTML wymaga href
atrybutu, ale jeśli planujesz obsłużyć żądanie za pomocą javascript, wówczas „#” służy jako rozsądny symbol zastępczy.
... tylko po to, aby dodać kilka dodatkowych przydatnych wskazówek.
Możesz uzyskać do niego dostęp i zmienić go
document.location.hash
w JavaScript.Może wskazywać na nazwaną kotwicę (np.
<a name="top"></a>
) Lub element z odpowiednim identyfikatorem (np<div id="top"></div>
.).Samo zobaczenie (np.
<a href="#" onclick="pop()">popup</a>
) Generalnie oznacza, że łącze jest używane wyłącznie do uruchamiania JavaScript. To zła praktyka.Każdy
a
element powinien mieć znakhref
wskazujący na prawidłowy zasób. Jeśli takiego nie ma, rozważ użycie innego elementu, takiego jakbutton
.źródło
#
wskazuje łącze do kotwicy.Myślę, że wspomnę też o czymś innym:
Używanie '#' jako href dla linku, który aktywuje JavaScript jest złe, ponieważ przewija stronę do góry - co prawdopodobnie nie jest tym, czego chcesz. Zamiast tego użyj
javascript:void(0)
.źródło
javascript:void(0)
też - użyj a,button
jeśli to nie jest łącze.Krzyżyk (
#
) wskazuje, aby zlokalizować kotwicę na stronie. Na przykład, jeśli umieścisz to gdzieś na stronie:<a name="foo"></a>
lub ostatnio:
<div id="foo">*part of page*</div>
a następnie klikniesz link na stronie, która ma href
#foo
, spowoduje to przejście do zakotwiczenia z nazwą lubdiv
identyfikatoremfoo
.Jeśli jednak masz tylko atrybut href
#
, będzie on prowadził na górę strony.źródło
To prowadzi z powrotem do samej strony. Jest często używany z linkami, które faktycznie uruchamiają JavaScript.
źródło