3

抱歉,如果这看起来很愚蠢,我是 JavaScript 新手。

这是在menu.js

document.write("<a href="index.html">Home</a>");
document.write("<a href="news.html">News</a>");
document.write("<a href="about.html">About us</a>");

这是在index.html

<head>
</head>
<body>
    <script type="text/javascript" src="menu.js"></script>
</body>
</html>

当我加载index.html时,什么都没有出现...

4

2 回答 2

8

问题是您的引号,您"同时使用来分隔新元素并设置它们的href属性,将代码更改为:

document.write("<a href='index.html'>Home</a>");
document.write("<a href='news.html'>News</a>");
document.write("<a href='about.html'>About us</a>");

或者:

document.write('<a href="index.html">Home</a>');
document.write('<a href="news.html">News</a>');
document.write('<a href="about.html">About us</a>');

组合单引号 ( ') 和双"引号 ( )。您还可以转义您的内部引号(document.write("<a href=\"index.html\">Home</a>");

但最好使用一次调用document.write(),如下所示:

document.write('<a href="index.html">Home</a>' 
    + '<a href="news.html">News</a>'
    + '<a href="about.html">About us</a>');
于 2013-08-16T14:55:51.653 回答
2

您没有转义字符串中的引号。它应该是:

document.write("<a href=\"index.html\">Home</a>");

否则,JavaScript 认为字符串在后面结束,href=并且该行的其余部分不遵循有效的 JavaScript 语法。

正如@Felix 所提到的,JavaScript 调试器工具将非常有助于让您了解正在发生的事情。

于 2013-08-16T14:57:02.443 回答