未捕获的typeerror undefined不是.empty()上的函数
uncaught typeerror undefined is not a function on .empty()
我得到了未捕获的类型错误undefined不是.empty()方法上的函数。代码是
title: "Criteria: "+ (criteriaText.empty() ? (criteriaIncludeText.empty()? criteriaExcludeText : criteriaIncludeText) : criteriaText)
在上面的代码中,criteriaText和criteriaIncludeText具有值。我可以在我的提醒信息中看到这一点。使用的jQuery版本是1.7。我真的不知道为什么它给出了未捕获的typeerror。undefined不是一个函数,当有合适的值时。有人能帮忙吗?
编辑
这些变量通过以下代码获取它们的值。
var criteriaText = jQuery(".categorySelect option[value='"+categoryId+"']").text();
var criteriaIncludeText = jQuery(".categorySelectInclude option[value='"+categoryId+"']").text();
var criteriaExcludeText = jQuery(".categorySelectExclude option[value='"+categoryId+"']").text();
您正试图在字符串(而不是HTML DOM元素)上使用jQuery的empty
方法:
例如:
var criteriaText = jQuery(".categorySelect option[value='"+categoryId+"']").text();
然而,jQuery并没有在字符串上提供该方法,因此您正试图执行()
一个不存在的函数(也就是说,不是由jQuery的原型链提供的)。
看起来你只是想检查值是否为空(在你的三元语句中):
title: "Criteria: "+ (criteriaText.empty() ? (criteriaIncludeText.empty()? criteriaExcludeText : criteriaIncludeText) : criteriaText)
但是,jQuery的empty()
方法"从DOM中删除匹配元素集的所有子节点"并返回对象jQuery
(计算结果为true):
alert($('#elementId').empty()?'yes':'no');
// object jQuery is an object, object coerces to TRUE
现在,你很幸运,因为一个空字符串已经被强制为false
,所以你可以在三元中去掉.empty()
部分,完成!
.empty()是jquery函数,它应用于jquery对象,使它们像.html('')
一样为空。您的文本变量不是jquery对象,而是在为空时返回false的简单字符串,因此您可以尝试:
title: "Criteria: "+ (criteriaText || criteriaIncludeText || criteriaExcludeText);
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- Javascript:为什么是构造函数's __proto__属性Empty(){}
- 其中是函数Empty(){}
- 在mocha.js中使用Empty函数
- JavaScript-所有DOM操作函数都返回null/empty
- 如何在不使用 Empty() 函数的情况下使用 jQuery 消除旧内容
- 从prototye迁移到Jquery Rails,empty()函数不起作用
- 未捕获的typeerror undefined不是.empty()上的函数
- 需要像jquery empty()这样的函数来删除jquery添加的元素
- 即使在使用empty()清除DOM之后,jquery函数也会执行两次
- JavaScript 中的 Empty 函数是什么,为什么它没有定义