Javascript动态链接问题?

时间:2012-08-18 21:06:04

标签: javascript

可能有重复(我已经尝试检查有关创建动态链接的问题,但它们引用了静态链接 - 我希望此链接对用户隐藏)。在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。

如何更正此问题?我该怎么做才能使链接仅在设定的时间后出现?注意,这是用于可读性的代码的简化版本(动态链接将包括在脚本运行时分配的两个浮点变量)。

4 个答案:

答案 0 :(得分: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,并且一般不推荐他们的例子,因为它们经常过时或不完整。

答案 1 :(得分:2)

你有两个问题:

1)您需要{URL}之前的http://所以它是:http://www.google.com 2)您不需要在document.write中使用引号,但如果您愿意,可以执行以下3中的一个:

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>");

答案 2 :(得分:1)

使用斜杠“\”来转义引用

答案 3 :(得分:0)

要使链接成为绝对链接,请在网址的开头添加“http://”。写出:

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

而不是

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

第二个示例将被视为相对网址,例如index.html