一部のサイトを調べたところ、URLにポンド記号(#)が付いています。それは何をするためのものか?
<a href="#" >Link name</a>
回答:
「フラグメント」または「名前付きアンカー」です。ドキュメントの一部へのリンクに使用できます。通常、ページにリンクすると、ブラウザはページの上部にページを開きます。しかし、途中までセクションにリンクすると、フラグメントを使用してその見出し(またはその他)にリンクできます。
<a name="whatever"/>ページ内にタグがない場合、ブラウザはページの上部にリンクするだけです。フラグメントが空の場合は、ページの上部にリンクするだけです。
フラグメントのみの <a href="#">Link name</a>場合、それは現在のページの上部へのリンクにすぎません。
このようなリンクは、JavaScriptと組み合わせて使用されることがよくあります。標準に準拠したHTMLにはhref属性が必要ですが、JavaScriptでリクエストを処理する場合は、「#」が適切なプレースホルダーとして機能します。
...役立つヒントをいくつか追加します。
document.location.hashJavaScript でアクセスして変更できます。
これは、名前のアンカー(例えばを指すことができます<a name="top"></a>)または対応するID(例えば持つ要素に<div id="top"></div>)。
単独で表示する(例<a href="#" onclick="pop()">popup</a>:)とは、一般に、JavaScriptを排他的に実行するためにリンクが使用されていることを意味します。これは悪い習慣です。
どのa要素hrefにも、有効なリソースを指すが必要です。存在しない場合は、などの別の要素の使用を検討してくださいbutton。
# アンカーへのリンクを示します。
私は他にも言及したいと思います:
JavaScriptをアクティブにするリンクのhrefとして「#」を使用すると、ページが上にスクロールされるため、不適切です。代わりに、を使用してくださいjavascript:void(0)。
javascript:void(0)どちらか-使用しbutton、それはリンクではありません場合。
ポンド記号(#)は、ページ上のアンカーを見つけることを示します。たとえば、ページのどこかにこれを含める場合:
<a name="foo"></a>
または、最近では:
<div id="foo">*part of page*</div>
次に、hrefを含むページのリンクをクリックする#fooと、名前またはdivID を使用してアンカーに移動しfooます。
ただし、hrefしかない場合#は、ページの上部に移動します。
これはページ自体にリンクします。JavaScriptを実際に実行するリンクでよく使用されます。