私のjs関数は次のようになります:
function tester (message) {
alert(message);
}
そして、マークアップには次のものがあります。
<a href="#" onclick="tester(text to show);">Link</a>
しかし、うまくいきません。誰かが理由を教えてもらえますか?
私のjs関数は次のようになります:
function tester (message) {
alert(message);
}
そして、マークアップには次のものがあります。
<a href="#" onclick="tester(text to show);">Link</a>
しかし、うまくいきません。誰かが理由を教えてもらえますか?
text to show
シングルまたはダブルのいずれかの引用符で囲まない限り、文字列ではありません。
このような:
<a href="#" onclick="tester('text to show');">Link</a>
Javascript コードと HTML の両方に同じ種類の引用符を使用できないことに注意してください。
あなたのコードはおそらくエラーを引き起こしています。コードが期待どおりに動作しない場合は、コンソールを確認してください。
あなたはほとんどそこにいます。次のように、テキストを引用符で囲んで表示するだけです。
<a href="#" onclick="tester('text to show');">Link</a>
ここで起こっているのは、<a>
タグに と の 2 つの属性href
があるということですonclick
。にhref
、リンク先の URL を記述します。onclick
属性には、Javascript を記述します。ここでのJavascriptは次のとおりです。
tester('text to show');
という関数を実行tester
し、文字列を渡します'text to show'
。元のコードには次のような Javascript がありました。
tester(text to show);
その結果、構文エラーが発生します。余談ですが、次のような Javascript があるとします。
tester(text);
という名前の変数を探し、text
この変数が定義されている場合は、そのテキストでアラートを受け取ります。
もう 1 つ: ここで行ったように、HTML 属性内にテキストを含める場合は、属性を囲むために使用したのと同じ引用符を使用しないように注意する必要があります。そのため、単一引用符を使用しました。二重引用符や © 記号などの特殊な文字を使用したいとします。この場合は、「HTML エスケープ」値に置き換えます©
。一般的な値については、ここをクリックしてください。