Po sprawdzeniu niektórych witryn mają one w adresie URL znak funta (#). Co to robi?
<a href="#" >Link name</a>
Po sprawdzeniu niektórych witryn mają one w adresie URL znak funta (#). Co to robi?
<a href="#" >Link name</a>
Odpowiedzi:
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ć znak href
wskazujący na prawidłowy zasób. Jeśli takiego nie ma, rozważ użycie innego elementu, takiego jak button
.
#
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)
.
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ą lub div
identyfikatorem foo
.
Jeśli jednak masz tylko atrybut href #
, będzie on prowadził na górę strony.
To prowadzi z powrotem do samej strony. Jest często używany z linkami, które faktycznie uruchamiają JavaScript.