首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >函数内部的document.forms.length返回0,函数外部的工作正常

函数内部的document.forms.length返回0,函数外部的工作正常
EN

Stack Overflow用户
提问于 2011-08-13 02:26:43
回答 1查看 2.2K关注 0票数 0

谁能给我解释一下为什么下面的代码不能在函数内工作,但在函数外却能很好地工作?

代码语言:javascript
复制
function calculate_document_forms_length(){
    document.forms.length;
}

从控制台运行它会返回"undefined",但是当我只是从控制台本身运行document.forms.length时,它会返回页面上的表单数量。我试着理解为什么这不起作用,但我找不到一个原因。在火狐和chrome中都会发生这种情况。我看不出这有什么不好的原因。

编辑以澄清一些事情。

它在页面加载完成后从控制台运行。下面的代码返回正确的值。

代码语言:javascript
复制
document.forms.length;

因此,我不知道它为什么会这样。

好的,这是测试HTML页面的确切源代码。

代码语言:javascript
复制
<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和表单。

EN

回答 1

Stack Overflow用户

发布于 2011-08-13 02:44:41

这不能回答为什么,但如果你返回它,它就能工作:

代码语言:javascript
复制
function aa(){
    return document.forms.length;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7044646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档