谁能给我解释一下为什么下面的代码不能在函数内工作,但在函数外却能很好地工作?
function calculate_document_forms_length(){
document.forms.length;
}
从控制台运行它会返回"undefined",但是当我只是从控制台本身运行document.forms.length时,它会返回页面上的表单数量。我试着理解为什么这不起作用,但我找不到一个原因。在火狐和chrome中都会发生这种情况。我看不出这有什么不好的原因。
编辑以澄清一些事情。
它在页面加载完成后从控制台运行。下面的代码返回正确的值。
document.forms.length;
因此,我不知道它为什么会这样。
好的,这是测试HTML页面的确切源代码。
<html>
<head>
<title>test page 01</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
<form>
<input type="text" name="test1" />
</form>
<form>
<input type="text" name="tes2" />
</form>
</body>
</html>
正如您所看到的,标签中没有框架,只有普通的HTML和表单。
发布于 2011-08-13 02:44:41
这不能回答为什么,但如果你返回它,它就能工作:
function aa(){
return document.forms.length;
}
https://stackoverflow.com/questions/7044646
复制相似问题