ホームページ  >  記事  >  ウェブフロントエンド  >  HTML の a タグ href='#' と href='###' の違いを共有する

HTML の a タグ href='#' と href='###' の違いを共有する

黄舟
黄舟オリジナル
2017-07-27 13:34:052563ブラウズ

まず、 タグ + onclick='{jscode}' は、js を使用する非常に一般的な方法です。href='javascript:{jscode}' を使用しない理由は、複数のブラウザーとの互換性を確保するためです。 ラベルは異なる方法で解釈され、処理されます。次に、 タグ + onclick='{jscode}' を使用する場合、href='###' が追加されることが多く、この href='###' が誤って は、ユーザーが「#」と「###」の違いを理解していないためです。

簡単に言えば、ページの先頭にジャンプせずに空のリンクを定義したい場合は、href="###" と書くことができます。詳細な説明は、「#」には特定の意味があり、「#」の後にコンテンツがある場合、それはタグとみなされ、ページ内で対応するタグが見つかった場合は、そこにジャンプします。見つからない場合、「## #」は実際には意味のないタグ指定です。つまり、「#」と存在しないタグ「##」の組み合わせです。 '##' という名前の > がページ上に見つからない場合、リンクは発生しません。onclick でコンテンツを実行するときに、ページが突然ページの先頭にジャンプすることはありません。 「###」は単なるユーザーの習慣であり、必要に応じて、名前としてジャンプできないラベルを見つけることができます。率直に言うと、「###」はアンカーではない文字列であり、ブラウザがそれを見つけられない場合、原則としてページの先頭にジャンプしません。 Web ページが見つからない場合は処理されません。

「###」はリンクが変わってしまうので嫌だという人もいます。常に javascript:void(0) または javascript: を使用してください。 href="javascript:void(0);" ただし、href="javascript:void(0);" を使用するとブラウザの互換性の問題が発生する可能性があると言う人もいます。ページを作成するときに、リンクをクリックした後に何もしない、またはクリックに応じて他の処理を完了したい場合は、その属性を href = "#" に設定できます。ただし、ページにスクロールがある場合に問題が発生します。バーをクリックするとページの先頭に戻ってしまうため、ユーザー エクスペリエンスが悪くなります。

javascript:void(0) この疑似プロトコルは、Web 標準の本を読んだことがあれば、その理由がわかるでしょう。 2. リンク (href) に javascript:void(0) を直接使用すると、GIF アニメーションの再生が停止するなど、IE で問題が発生する可能性があります。そのため、最も安全な方法は「####」を使用することです。リンクをクリックした後にページの先頭にジャンプしないように、onclick イベントは false を返すことができます。

以上がHTML の a タグ href='#' と href='###' の違いを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。