对于以下JavaScript代码行为,我找不到合理的解释。
我对javascript不太熟悉,并且以下代码是否有效。
在已迁移的旧版应用程序中,有以下几行代码:
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
表示法,也找不到有关它的文档。 最佳答案
由于budget_sections是元素的ID
不,这是表格的名称。
document.formname.length
仍然有效。
我找不到有关它的文档。
这是MDN中
document.images.length
的一个示例MDN link
所有这些都是您
properties
中的document
。您可以在该页面的左侧边栏中阅读有关此内容的更多信息。您将找到与document.DOM_Object.property
类似的所有属性的文档。关于javascript - 为什么传统应用程序中的document.DOM-object.property为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29490348/