7

アップデート

以下のコードは何を意味し、何をしますか? JavaScript が必要ですか?

<a href="javascript:;">Do Somthing</a>

アップデート

以下と同じですか?:

<a href="">Do Somthing</a>
4

4 に答える 4

14

リンクへの href 属性の先頭として「javascript:」を使用すると、javascript エンジンに残りの文字列を使用して javascript として解釈するように指示します。この場合、厳密な解釈では構文エラーが発生します。これは事実上、終了セミコロンを持つ空の JavaScript 行であるためです。このような:

;

ただし、リンク上の JavaScript は古い構文であり、可能な限り回避する必要があるため、ほとんどのブラウザーはエラーをスローしません。何もしないリンクとして安全に使用できますが、お勧めしません。

リンクが何もしないようにしたい場合は、代わりにこれを使用できます。

<a href="#">Link</a>
<a href="javascript:void(0);">Link</a>
<a href="javascript:return false;">Link</a>

空の href 文字列を使用すると、ブラウザーはそれを相対リンクとして解釈します。プロトコルや上位ドメインや IP アドレスなどの識別子で始まらない URL は、相対リンクとして扱われます。たとえば"index.htm"、ドメインのリンク"google.com"はリンクを作成します"google.com/index.htm"。同様に、href 文字列""によってリンクが作成されるため、 href 文字列"google.com/"が空の場合、ブラウザーは新しいページに移動します。

通常、href 属性を指定しない場合、リンクはポインター カーソルを表示したり、要素をリンクのようにフォーマットしたりしません。これは、URL でハッシュ文字を使用してリンクできる「アンカー」要素として使用できるようにするためです。 . 次のような"http://google.com/#an_anchor"アンカーに移動します。<a id="an_anchor">This is an anchor</a>

ただし、次のように、CSS を使用してリンクを強制的にフォーマットすることができます。

CSS:

a {
    color: #00c;
    text-decoration: underline;
    cursor: pointer;
}

HTML:

<a>This is a link.</a>

例: http://jsfiddle.net/J3RfH/

于 2012-06-04T12:16:25.753 に答える
6

それはノーオペレーションです。

もう1つの一般的な方法は、ページの上部にジャンプしてアドレスバーに表示されないようにするためにonclickイベントに参加するhref="#"必要があることです。return false#

通常、JavaScriptを使用する場合と使用しない場合の両方でリンクを機能させることをお勧めします。つまり、JavaScriptを使用しない場合<a href="/whatever" onclick="dowhatever(); return false;">は従来の方法でページを開くだけで、JavaScriptを使用する場合はJSで行った優れた機能を利用できます。

JavaScriptがないと機能しない場合、つまり有用なhref値がない場合は、aタグをまったく使用せずspanに、適切なスタイル(cursor:pointerおよび場合によっては下線付き)でを使用することを検討してください。

于 2012-06-04T12:08:09.693 に答える
0

これは何も行わず、aタグのデフォルトの動作を置き換えて、どこかに移動せず、リンクを本質的にクリックできないようにすることを目的としています。

于 2012-06-04T12:07:23.270 に答える
0

その後、何らかの関数を指定すると、tag:を使用して<a>呼び出されますが、ここでは関数を指定していないため、何も起こりません。

于 2012-06-04T12:09:20.993 に答える