我有一段循環訪問表單元素並構建對象的JavaScript代碼。 我有一個混合的HTML輸入字段和ASP.NET輸入字段。 ASP.NET將字段的ID更改爲xxxxx_yyyy_id形式,所以我試圖使用split函數來提取原始ID。使用javascript array.length函數的奇怪結果
// Iterate over all the text fields and build an object
$(':text').each(function() {
var tokens = this.id.split("_");
if (tokens.length = 3) {
// Assume this is a .net inputbox - extract the original id
inFormData[tokens[2]] = this.value;
} else {
inFormData[this.id] = this.value;
}
});
通過上述代碼步進,所述第一ID是ctl00_ContentPlaceHolderCol1_forenameField,所以tokens.length = 3代碼運行。 在第二次迭代中,id是forenameField2,所以我期望tokens.length是1,但實際上是3. else語句永遠不會運行。
這可能是簡單的,但我無法解決它。如果我檢查令牌數組,它在第二次迭代中只有1個元素。我也試過在每次迭代之後將array.length設置爲0。
任何幫助表示讚賞。
'='是賦值 - 你的意思''==(甚至更好''===) – Alnitak