我是一个新手,正在学习Javascript。我遇到了一个全局变量的问题。虽然代码看起来没问题,但我无法弄清楚为什么全局变量不起作用。请帮助我解决这个问题。 首先,我简要解释一下代码。我有一个页面上的文本,当单击时会变成文本字段。当我在函数体内定义变量时,代码开始正常工作。但是,当这些变量像以下代码一样在全局范围内定义时,控制台会显示此错误:变量未定义。以下是我的代码:
<!DOCTYPE HTML>
<html>
<head>
<title>Span to Text Box - Demo - DOM</title>
<script type="text/javascript" language="javascript">
var textNode = document.getElementById('text');
var textValue = textNode.firstChild.nodeValue;
var textboxNode = document.getElementById('textbox');
var doneButton = document.getElementById('done');
function change()
{
textboxNode.setAttribute('value', textValue);
textNode.style.display = 'none';
textboxNode.setAttribute('type','text');
doneButton.setAttribute('type','button');
}
function changeBack()
{
textNode.firstChild.nodeValue = textboxNode.value;
textNode.style.display = 'block';
textboxNode.setAttribute('type', 'hidden');
doneButton.setAttribute('type','hidden');
}
</script>
</head>
<body>
<p id="text" onClick="change()">Click me!</p>
<form onSubmit="return false;">
<input type="hidden" id="textbox" />
<input type="hidden" id="done" onClick="changeBack()" value="Done" />
</form>
</body>
</html>
请帮忙!非常感谢。