我无法找到以下JavaScript代码行为的合理解释。 我不是很熟悉JavaScript,如果下面的代码是有效的。为什么遗留应用程序中的document.DOM-object.property为空
在迁移遗留应用程序没有沿着这些线路代码:
function myFunctionName(name)
{
for(k=0; k < document.budget_sections.length; ++k) {
//...do something
}
}
请注意document.budget_sections.length
部分。在生产中,这段代码会抛出一个错误,说不能访问null的属性长度。在我的开发环境中,这运行良好。 由于budget_sections
是一个表单元素(<form id="budget_sections" method="post" runat="server">
)的Id我改变了代码,这是众所周知的我的语法:
function myFunctionName(name)
{
var form = document.getElementById("budget_sections");
for(k=0; k < form.length; ++k) {
//...do something
}
}
这句法/符号用于在整个应用程序,适用于大多数的网页。我在这里的问题是:为什么旧的代码仍然能够工作,为什么现在可能会崩溃?我从来没有读过document.DOM-object.xxx
之前的记号,我找不到有关它的文档。
这会清理一些东西。但我正确地使用Id。它被定义为'
你可以试试看。使用'id =“budget_sections”'创建一个表单,并使用'name =“budget_sections”'创建另一个表单。 DOM规范只允许'name'属性引用而不是ID – mohamedrias