我正在尝试在范围模式下调试jQuery滑块流行的“无法调用未定义的方法'addClass'”,并发现一些奇怪的东西。有人说这个错误是由于值作为字符串而不是整数传入,但我的值是经过验证的整数,我没有想法,所以我去尝试调试 jQuery UI,立即陷入死胡同。
见图片:
如您所见,当我在开发工具中展开选项对象时,options.values 是一个包含两个 NaN 的数组。但是,如果我 console.log(options.values) 我得到了真正的数组,它应该是正确的数值。更糟糕的是,例如,当我直接使用 console.log(options.values[0]) 记录它们时,我得到了正确的值。
然而,当滑块请求值时,它总是返回 NaN - 这在计算范围滑块的最接近句柄时很明显 - NaN 有毒,它会毒化整个循环并返回未定义的最接近句柄,从而导致上述“addClass”错误.
为什么会出现图像中的情况?为什么会发生?显然,两个相同的属性包含不同的值,具体取决于访问它们的方式。