1

これと重複している可能性があります(動的リンクの作成に関する質問を確認しようとしましたが、静的リンクを参照しています-このリンクをユーザーから非表示にしたい)。ww3サイトで次のコードをテストする場合:

<!DOCTYPE html>
<html>
<body>

<script type="text/javascript">
document.write("<a href=&quot;www.google.com&quot;>Google</a>");
</script>

</body>
</html>

私は得る:

 http://www.w3schools.com/jsref/%22www.google.com%22

www.google.comではなくリンクアドレスとして。

この問題を修正するにはどうすればよいですか?そして、リンクが設定された時間の後にのみ表示されるようにするにはどうすればよいですか?これは読みやすさのためにコードを簡略化したものであることに注意してください(動的リンクには、スクリプトの実行時に割り当てられた2つの浮動小数点変数が含まれます)。

4

4 に答える 4

3

<a>タグhrefにはプロトコルが含まれている必要があります。含まれてhttp://いない場合、リンクが存在するページに関連するドキュメントにリンクします。

// Print quote literals, not html entities `&quot;`
document.write("<a href='http://www.google.com'>Google</a>");

のユースケースはdocument.write()、ページが読み込まれた後はすべてを上書きせずに使用できないため、制限されることがよくあります。多くの場合、ページが既にレンダリングされた後に要素を作成する必要があります。その場合は、とを使用document.createElement()appendChild()ます。

// Create the node...
var newlink = document.createElement('a');
newlink.href = 'http://www.google.com';
// Set the link's text:
newlink.innerText = "Google";

// And add it to the appropriate place in the DOM
// This just sticks it onto the <body>
// You might, for example, instead select a specific <span> or <div>
// by its id with document.getElementById()
document.body.appendChild(newlink);

ちなみに、w3schoolsはW3Cと提携しておらず、それらの例は古くなっているか不完全であることが多いため、一般的には推奨されません。

于 2012-08-18T21:08:43.243 に答える
2

2つの問題があります:

http://1) URLの前に必要なので、次のようになります。http ://www.google.com 2)document.writeで引用符を使用する必要はありませんが、必要に応じて次のいずれかを実行できます。

document.write('<a href="http://www.google.com">Google</a>');
document.write("<a href='http://www.google.com'>Google</a>");
document.write("<a href=http://www.google.com>Google</a>");
于 2012-08-18T21:10:23.653 に答える
1

スラッシュ「\」を使用して引用符をエスケープします

于 2012-08-18T21:08:43.857 に答える
0

リンクを絶対にするには、URLの先頭に「http://」を含めます。書き出す:

<a href="http://www.google.com">

それ以外の

<a href="www.google.com">

2番目の例は、たとえばのように相対URLとして扱われindex.htmlます。

于 2012-08-18T21:09:34.070 に答える