“断点目前不会被击中。此文档未加载任何符号。“

时间:2017-07-19 21:43:16

标签: javascript visual-studio breakpoints

我用以下代码完全修改了这个问题,以显示我收到的示例错误。

Javascript.js文件

var yourName = prompt("What is your name?");
if (yourName != null){
document.getElementById("sayHello").innerHTML = "Hello" + yourName;}
else {
alert("Please enter a name next time!");}

的index.html

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script type="text/javascript" src="Javascript.js"></script>
</head>

<body>
<p id="sayHello">hello</p>
</body>
</html>

上面的代码会提示我询问它将收到的名称的消息,但是使用'yourName'变量,document.getElement行将不会运行,因为html代码

仍然存在和'你好'一样。我试图调试这个以查看它为什么不会运行文档行代码,但是当我点击文档行上的断点时,我收到一条消息,'断点当前不会被命中。此文档未加载任何符号。它指的是什么符号?我正在使用Microsoft Visual Studio。

1 个答案:

答案 0 :(得分:1)

回答你的问题,为什么它在html(在评论中)放置很晚才起作用:

脚本需要在设置DOM时运行,以便它可以找到元素。

目前,在可以访问html之前,脚本正在运行,因此getElementById将无法找到任何内容。

最简单的修正是将脚本放在<body>标记的末尾(在它引用的html之后;就像在截图中所做的那样)。

另一个选择是让脚本仅在DOM加载完成后运行:pure JavaScript equivalent to jQuery's $.ready() how to call a function when the page/dom is ready for it