我正在尝试将旧的 JavaScript 计算器从旧站点移植到新站点。旧版计算器是一种包含大量表格/div 标记的表格。只有一个 JS 文件可以处理这个计算器的所有逻辑。当您填写 calc 中的每个输入字段时,onChange() 会调用 JS 文件中定义的函数。这一切都很好;Chrome 开发工具中没有显示错误,我得到了我期望的结果。
由于这个计算器是一团乱七八糟的标记,我已经去掉了很多不必要的元素和内联样式来创建一个更短(标记长度)的表单。问题是,当我尝试将计算器与我的新标记和相同的旧 JS 文件一起使用时,它不起作用。或者,我应该说,大约 98% 的方法都不起作用。它似乎仍在输出一些数字,但不是全部。一旦我切换回旧标记,它就会再次起作用。
使用我的新标记,我得到“无法读取未定义的属性长度”。我不知道如何解决这个问题,因为我知道一些字段正在将它们的值提交给 JS。我也不明白为什么没有错误,并且使用旧 html 的计算按预期工作(见下面的 JSFiddle 链接)。
更新:这是一个完整的例子: http: //machinesandwich.com/demo.html