我無法找到以下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