我是编程新手,需要一些帮助,为什么document.write()没有工作,基本上页面崩溃了......有人可以帮帮我吗?
<!DOCTYPE html>
<html>
<head>
</head>
<script type="text/javascript">
function showText() {
var x;
var counter;
if ( x === 0) {
counter = 0;
x = 1;
}
counter = counter + 1;
document.write("Times clicked: " + counter);
}
</script>
<body>
<script type="text/javascript">
showText();
</script>
<button onclick="showText();">Click Me!<button>
</body>
</html>
答案 0 :(得分:2)
document.write
从MDN开发者网络documentation page引用:
注意:当
document.write
写入文档流时,在已关闭(已加载)的文档上调用document.write
会自动调用document.open
来清除文档。
基本上,您的问题是在页面加载后使用document.write
:这将导致删除页面的整个内容并显示该字符串。
此外,您的代码无效,因为您的count
变量是在showText
函数内声明的,并且您尝试在其外部访问它,从而导致错误。
为了使你的代码工作,你应该创建另一个元素,让我们说一个<p>
元素,并在其中显示文本。以下是正确页面的示例:
<!DOCTYPE html>
<html>
<head></head>
<body>
<button id="btn">Click me!</button>
<p id="txt">Times clicked: 0</p>
<script type="text/javascript">
function showText() {
count++;
text.textContent = "Times clicked: " + count;
}
var count = 0,
button = document.getElementById("btn"),
text = document.getElementById("txt");
button.addEventListener("click", showText);
</script>
</body>
</html>
查看 live demo here 。