我收到一个未捕获的类型错误:无法读取 jquery.main.js 上 null 的属性“长度”
I'm getting an Uncaught TypeError: Cannot read property 'length' of null on jquery.main.js
此行:
this.textActive = this.focused || (this.element.value.length && this.element.value !== this.origValue);
正在生成此错误消息: 未捕获的类型错误: 无法读取 null 的属性"长度"
我不确定是什么原因造成的,但它正在制造问题。
refreshClasses: function() {
this.textActive = this.focused || (this.element.value.length && this.element.value !== this.origValue);
this.setStateClass(this.element, this.options.inputFocusClass,this.focused);
this.setStateClass(this.elementParent, this.options.parentFocusClass,this.focused);
this.setStateClass(this.labelFor, this.options.labelFocusClass,this.focused);
this.setStateClass(this.element, this.options.inputActiveClass, this.textActive);
this.setStateClass(this.elementParent, this.options.parentActiveClass, this.textActive);
this.setStateClass(this.labelFor, this.options.labelActiveClass, this.textActive);
},
setStateClass: function(el,cls,state) {
if(!el) return; else if(state) addClass(el,cls); else removeClass(el,cls);
}
}
在您的代码中,您还没有考虑到 value
属性可能尚未定义,而不是检查长度,而是使用 typeof
检查类型:
this.textActive = this.focused || (typeof this.element.value == 'undefined' && this.element.value !== this.origValue);
我也抓住了自己。 @Nabil是对的。 如果值未定义,则自然不能具有长度。
this.textActive = this.focused || this.element.value &&
this.element.value !== this.origValue;
这对你不起作用吗?
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- 剑道网格jQuery动画()问题
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- jquery点击函数select&取消选择
- 我收到一个未捕获的类型错误:无法读取 jquery.main.js 上 null 的属性“长度”