Javascript if 语句问题:网页中不显示



我对javascript有非常基本的了解,我期待着在javascript中学习一些条件语句。所以我继续在一个名为"index.html"的HTML文件中输入了这段代码:

<!DOCTYPE html>
<html>
<head>
<title>A sample webpage</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

结果是完全正常的。出现了一个名为"示例网页"的标题。

但是我输入的下一个代码在结果中产生了问题,

var myNumber = window.prompt("Enter number: ");
parseFloat(myNumber);
document.write(myNumber);

结果如预期的那样。

if (myNumber > 15) {
document.write(<p>Good! You've passed! </p>);
}
else {
document.write(<p>You failed! Try again next time.</p>);
}

但是当我添加这个 if 语句时,它根据用户的输入给出输出,我得到一个空白页。我不明白这是什么原因。语法有问题吗?

在我看来,它不执行我编写的代码的第一部分,它完全需要所有代码。我觉得这是正常的,但它不必实际执行"document.write"代码吗?

在我看来,你需要在document.write(string(中引用你的字符串。 喜欢这个:

if (myNumber > 15) {
document.write("<p>Good! You've passed! </p>");
}
else {
document.write("<p>You failed! Try again next time.</p>");
}

我希望它对你有用。谢谢。

document.write 将字符串作为参数。你把它传递成 HTML。

只需更改

document.write(<p>Good! You've passed! </p>);

document.write('<p>Good! You've passed! </p>');

使其工作。更好的方法是添加

<p id="message"></p>

到页面和您拥有的位置

document.write('<p>Good! You've passed! </p>');

您可以使用

document.getElementById('message').textContent='Good! You've passed!';

document.getElementById("myButton").addEventListener('click', function() { // when clicked
let myNumber = window.prompt("Enter number: ");
myNumber = parseFloat(myNumber); // convert to number from string
document.getElementById('number').textContent = myNumber;
const msg = document.getElementById('number'); // output container
if (myNumber > 15) {
msg.textContent = 'Good! You've passed!' // escaping the quote
} 
else {
msg.textContent = 'You failed! Try again next time.';
}
});
// above can be written using a so called ternary:
// msg.textContent = myNumber > 15 ? 'Good! You've passed!' : 'You failed! Try again next time.'
<!DOCTYPE html>
<html>
<head>
<title>A sample webpage</title>
</head>
<body>
<p id="number"></p>
<p id="message"></p>
<button type="button" id="myButton">Did you pass?</button>
<script src="script.js"></script>
</body>
</html>

最新更新